Einführung
Inspiriert vom Laravel-Router bauen wir unseren eigenen PHP-Router für die Verwaltung unserer Endpunkte für unsere nächste PHP-Projekt.
Einrichten
Legen wir ein neues Verzeichnis für unser Demoprojekt an und erstellen ein paar Dateien, die wir verwenden werden, z.B. index.php & router.php.
Grundlegende Fluss wäre wie, in unserem index.php, werden wir unsere Routen und Endpunkte einrichten & einfach die Daten in den Rückrufe übergeben.
In unserem router.php, fügen Sie den folgenden Code ein.
<?php
/**
* Holds the registered routes
*
* @var array $routes
*/
$routes = [];
/**
* Register a new route
*
* @param $action string
* @param \Closure $callback Called when current URL matches provided action
*/
function route($action, Closure $callback)
{
global $routes;
$action = trim($action, '/');
$routes[$action] = $callback;
}
/**
* Dispatch the router
*
* @param $action string
*/
function dispatch($action)
{
global $routes;
$action = trim($action, '/');
$callback = $routes[$action];
echo call_user_func($callback);
}Wie Sie sehen können, gibt es hier zwei Hauptfunktionen, eine davon ist route(), die eine Aktion und einen Rückruf annimmt. Diese route()-Methode bestimmt die Aktion und gibt den angegebenen Callback zurück. Die andere Funktion ist dispatch() und akzeptiert nur eine Aktion.
Jetzt innerhalb unserer index.php, können wir einfach wie aufrufen.
<?php
require_once "router.php";
route('/', function () {
return "Hello World";
});
route('/about', function () {
return "Hello form the about route";
});
$action = $_SERVER['REQUEST_URI'];
dispatch($action);Lesen Sie auch: Erstellen eines PHP-Routers mit benannten URL-Segmenten



