anonym-php/anonym-route

AnonymFramework 路由组件

dev-master / 1.2.x-dev 2015-09-23 00:47 UTC

This package is not auto-updated.

Last update: 2024-09-14 17:58:56 UTC


README

#Anonym-Route

这是 AnoynmFramework 的路由组件。

启动组件

include 'vendor/autoload.php';
use Anonym\Components\Route\RouteCollector;
use Anonym\Components\Route\Router;
use Anonym\Components\HttpClient\Request;
$collector = new RouteCollector();

如何添加新路由?

$collector->get('uri', ['_controller' => 'Controller:method',
                        'access' => [
                         'role' => '',
                         'next' => null,
                         'name' => 'name',
                         ]]);

支持哪些类型?

GET, POST, HEAD, PUT, OPTIONS, DELETE, PATCH

如何运行?

use Anonym\Components\Route\Router;

$router = new Router( new Request());
$router->run();

如何添加中间件?

$collector->get('/', ['_middleware' => ['name' => 'middlewarename', 'role' => 'aaa', 'next' => function(){}]]);

如何在控制器中添加中间件?

public function __construct(){
  $this->middleware('middlewarename');
}

如何创建控制器?

将其添加到 composer.json

"Anonym\Controllers": "path"

并在 "path" 中创建控制器

use Anonym\Components\Route\Controller;

class Test extends Controller{

   // do nothing

}
$collector->get('/{test}', 'Controller:method'); // {test} is required
$collector->get('/{test!}', 'Controller:method'); // {test!} is required
$collector->get('/{test?}', 'Controller:method'); // {test?} is optional

如何设置命名空间?

$router = new Router()->setNamespace('Your\Namespace');

// or 

$collector->get('/', ['_controller' => 'Test:method', '_namespace' => 'Your\Namespace']);