vs/router

VarYan的Router包

dev-master 2018-10-02 20:38 UTC

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
  });