dionchaika / router
PSR RESTful 路由库
dev-master
2019-05-20 12:29 UTC
Requires
- php: ^7.0
- dionchaika/container: dev-master
- dionchaika/http: dev-master
This package is auto-updated.
Last update: 2024-09-29 05:08:54 UTC
README
PSR RESTful 路由库
安装
composer require dionchaika/router:dev-master
<?php require_once 'vendor/autoload.php';
为了创建美观的URL,在服务器公共目录中创建一个 .htaccess 文件(适用于Apache)
<IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews -Indexes </IfModule> RewriteEngine On RewriteCond %{HTTP:Authorization} . RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [L,R=301] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^ index.php [L] </IfModule>
配置
<?php use Dionchaika\Router\Route; use Dionchaika\Router\Router; use Dionchaika\Http\ServerRequest; use Dionchaika\Http\Utils\Emitter; use Dionchaika\Router\RouteCollection; $routes = new RouteCollection([ new Route('GET', '/', '\\App\\Controllers\\Home'), new Route('GET', '/about', '\\App\\Controllers\\About'), new Route('GET', '/contact', '\\App\\Controllers\\Contact') ]); $router = new Router($routes); Emitter::emit($router->match(ServerRequest::createFromGlobals()));
基本用法
- 注册路由
<?php use Dionchaika\Http\Factory\ResponseFactory; $router->get('/', function ($request) { return (new ResponseFactory) ->createPlainTextResponse('Welcome!'); }); // // Allowed request methods: // // $router->get( pattern, handler ); // $router->put( pattern, handler ); // $router->head( pattern, handler ); // $router->post( pattern, handler ); // $router->patch( pattern, handler ); // $router->delete( pattern, handler ); // $router->options( pattern, handler ); //