emerge / php-routing
Emerge PHP Routing
Installs: 298
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/emerge/php-routing
Requires (Dev)
- phpunit/phpunit: 7.4.*
README
一个基础的PHP路由
安装
composer require emerge/php-routing
快速入门
use Emerge\Routing; $routing = new Routing(); $routing->get( '/admin', ['App\Admin', 'index'] ); $routing->get( '/admin/user/$id', ['App\Admin', 'index'], [ 'requirements' => [ 'id' => '\d+' ] ] ); $result = $routing->dispatch('GET', '/admin/user/1'); print_r($result);
输出内容
Array
(
    [route] => /admin/user/$id
    [callback] => Array
    (
        [0] => App\Admin
        [1] => index
    )
    [options] => Array
    (
        [requirements] => Array
        (
            [id] => \d+
        )
        [method] => Array
        (
            [0] => GET
        )
    )
    [parameters] => Array
    (
        [0] => /admin/user/1
        [id] => 1
        [1] => 1
    )
)
常量
VERSION
string
版本号
$routing::VERSION
API
get - 路由设置
array get (string $route, array|callable $callback, [array $options = []])
返回添加的路由数据
参数
route路由路径
callback路由回调,参考链接
options路由选项, 支持 requirements,method 两个选项
返回值
Array
(
    [route] => /admin/user/$id
    
    [callback] => Array
    (
        [0] => App\Admin
        [1] => index
    )
    
    [options] => Array
    (
        [requirements] => Array
        (
            [id] => \d+
        )
        [method] => Array
        (
            [0] => GET
        )
    )
)
示例
$routing->get( '/admin/user/$id', ['App\Admin', 'index'], [ 'method' => ['GET', 'POST'] 'requirements' => [ 'id' => '\d+' ] ] );
dispatch - 分派路由
array dispatch (string $method, string $uri)
返回路由分派结果
参数
methodHTTP方法
uriURI
返回值
Array
(
    [route] => /admin/user/$id
    
    [callback] => Array
    (
        [0] => App\Admin
        [1] => index
    )
    
    [options] => Array
    (
        [requirements] => Array
        (
            [id] => \d+
        )
        [method] => Array
        (
            [0] => GET
        )
    )
    [parameters] => Array
    (
        [0] => /admin/user/1
        [id] => 1
        [1] => 1
    )
)
示例
$result = $routing->dispatch('GET', '/admin/user/1');