本书未发布
安装路由
路由选择
安装
composer require nikic/fast-route
测试路由 (如果你懂 不用继续看下面了)
编辑index.php
<?php
//引入composer自动加载
require __DIR__.'/vendor/autoload.php';
$dispatcher = FastRoute\simpleDispatcher(function(FastRoute\RouteCollector $r) {
$r->get('/users','UserController@getUser'); //添加路由
});
// Fetch method and URI from somewhere
$httpMethod = $_SERVER['REQUEST_METHOD'];
$uri = $_SERVER['REQUEST_URI'];
// Strip query string (?foo=bar) and decode URI
if (false !== $pos = strpos($uri, '?')) {
$uri = substr($uri, 0, $pos);
}
$uri = rawurldecode($uri);
$routeInfo = $dispatcher->dispatch($httpMethod, $uri);
switch ($routeInfo[0]) {
case FastRoute\Dispatcher::NOT_FOUND: //找不到路由
// ... 404 Not Found
break;
case FastRoute\Dispatcher::METHOD_NOT_ALLOWED:
$allowedMethods = $routeInfo[1]; //请求不同
// ... 405 Method Not Allowed
break;
case FastRoute\Dispatcher::FOUND: //找到路由
$handler = $routeInfo[1];
$vars = $routeInfo[2];
var_dump($routeInfo);
// ... call $handler with $vars
break;
}
启动php内置服务器
php -S 0.0.0.0:12345
浏览器访问
http://127.0.0.1:12345/users
var_dump($routeInfo) 的结果
$routeInfo[0]
不知道$routeInfo[1]
自定义的处理操作$routeInfo[2]
参数 如/users/{id}
, 参数是这个{id}
推荐文章: