jp-codeplus/hazel-router
最新稳定版本:v1.0.3
Composer 安装命令:
composer require jp-codeplus/hazel-router
包简介
A simple PHP router with middleware support and sitemap generation
README 文档
README
Der HazelRouter ist ein einfacher, anpassbarer PHP-Router mit Unterstützung für Middleware, dynamische Routenerstellung und automatischer XML-Sitemap-Generierung.
Installation
Du kannst den HazelRouter ganz einfach über Composer installieren:
composer require jp-codeplus/hazel-router
Voraussetzungen
Stelle sicher, dass du folgende Dateien in deinem Projekt hast:
HazelRouter.php(die Router-Klasse)DemoController.php(zum Testen der Controller)DemoMiddleware.php(zum Testen der Middleware)routes.php(eine Datei mit den definierten Routen)
Schritt-für-Schritt-Anleitung
1. Router initialisieren
Zuerst müssen wir den Router initialisieren und die notwendigen Dateien einbinden:
require __DIR__ . '/../src/HazelRouter.php'; require __DIR__ . '/DemoController.php'; require __DIR__ . '/DemoMiddleware.php'; // Basic Router-Initialisierung $router = new JayPiii\HazelRouter(); $routerPath = __DIR__ . '/routes.php'; // ==> DEMO ROUTES
2. XML-Sitemap automatisch erstellen
Du kannst eine Sitemap einfach durch Aufruf der createSitemap-Methode erstellen. Gib die gewünschte URI und die Domain an:
$router->createSitemap('/sitemap.xml', 'http://hazel-router.test');
Dies erstellt eine Route, unter der die XML-Sitemap abgerufen werden kann.
3. Routen laden
Lade die Routen aus einer externen PHP-Datei. Die Datei sollte ein Array mit Routen zurückgeben:
$router->loadRoutes($routerPath);
4. Middleware hinzufügen
Um Middleware hinzuzufügen, kannst du die middleware-Methode verwenden. Diese Methode unterstützt sowohl Closures als auch Klassenmethoden:
$router->middleware('myMiddleware', [DemoMiddleware::class, 'index']);
5. Router ausführen
Rufe die Methode run() auf, um den Router auszuführen. Diese Methode überprüft die aktuelle Anfrage und führt die entsprechende Route aus:
$router->run();
6. Fehler anzeigen
Falls während der Verarbeitung Fehler auftreten, kannst du diese mit displayErrors() ausgeben:
if ($router->displayErrors() !== null) { echo $router->displayErrors(); }
Beispiel-Code
Hier ist der vollständige Beispiel-Code für die Verwendung des HazelRouters:
require __DIR__ . '/../src/HazelRouter.php'; require __DIR__ . '/DemoController.php'; require __DIR__ . '/DemoMiddleware.php'; // Basic Router $router = new JayPiii\HazelRouter(); $routerPath = __DIR__ . '/routes.php'; // ==> DEMO ROUTES $router->createSitemap('/sitemap.xml', 'http://hazel-router.test'); $router->loadRoutes($routerPath); $router->middleware('myMiddleware', [DemoMiddleware::class, 'index']); $router->run(); if ($router->displayErrors() !== null) { echo $router->displayErrors(); }
Beispielhafte routes.php
Die Datei routes.php sollte ein Array mit Routen zurückgeben, die wie folgt definiert sind:
return [ [ 'uri' => '/', 'action' => [DemoController::class, 'index'], 'method' => 'GET', 'middleware' => ['myMiddleware'], 'sitemap' => true, 'visibility' => 'live' ], [ 'uri' => '/hello', 'action' => [DemoController::class, 'hello'], 'method' => 'GET', 'middleware' => [], 'sitemap' => false, 'visibility' => 'staging' ], [ 'uri' => '/mellow', 'action' => [DemoController::class, 'mellow'], 'method' => 'GET', 'middleware' => [], 'sitemap' => true, 'visibility' => 'live' ], ];
Viel Spaß beim Programmieren mit dem HazelRouter!
统计信息
- 总下载量: 16
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-10-15