vs / router
VarYan的Router包
dev-master
2018-10-02 20:38 UTC
Requires
- php: ^7.2
- vs/general: dev-master
- vs/request: dev-master
- vs/url: dev-master
Requires (Dev)
- phpunit/phpunit: ^7.0
This package is auto-updated.
Last update: 2024-09-16 09:14:31 UTC
README
描述
一个开源PHP ^7.2路由对象,使路由更简单
特性
- 支持请求方法(您可以添加任何需要的新的方法)
- GET
- POST
- PUT
- PATCH
- DELETE
- 前缀(嵌套层级)
- 命名空间(嵌套层级)
- 命名
- 对段数无限制
- 支持的动态段(您可以添加任何需要的新的段)
- (n) => /[0-9]/
- (s) => /[A-Za-z0-9]/
- 支持的目标类型
- 字符串 => "ControllerName.ActionName",
- 闭包 => function (){}(如果模式将包含动态段,函数将自动注入它们,如($S1,$S2,...$Sn))
- 数组 => ["ControllerName", "ActionName"],
- 数组(关联数组)=> [ "controller" => "ControllerName", "method" => "ActionName" ]
安装
- 将行"vs/router": "dev-master"添加到您的composer文件中
- 将您的composer文件的"minimum-stability"更改为"dev"
- 在您的终端上运行composer install/update命令
示例
方法定义
/** * @var \VS\Router\RouterInterface $router */ $router = \VS\General\DIFactory::injectClass(\VS\Router\Router::class); $router->get('/', function(){ // code for defined route gouse here })->post('/login', 'ControllerName.actionName') ->delete(sprintf('/user/%s', \VS\Router\RouterConstants::NUMBER_ARGUMENT_ALIAS), function($id){ // code for delete user with ID $id gouse here });