jakulov / corpuscle_router
Corpuscle Framework 路由器
dev-master
2015-12-31 09:08 UTC
Requires
- symfony/psr-http-message-bridge: ^0.2.0
Requires (Dev)
- phpunit/phpunit: ^5.1
This package is not auto-updated.
Last update: 2024-09-18 19:04:01 UTC
README
用于构建类似 API 应用的小型路由器,采用 Corpuscle 框架
可以使用 composer 安装
composer require jakulov/corpuscle_router
1. 路由器
容器可以用来存储任何数组数据(例如配置或存储库),并且可以通过点符号轻松访问。
$config = [
'/articles' => 'ArticlesController',
];
$router = new \jakulov\Corpuscle\Router\ApiRouter();
$router->setConfig($config);
$request = \Symfony\Component\HttpFoundation\Request::create('/articles', 'GET');
$result = $router->route($request);
echo $result->controller; // 'ArticlesController'
echo $result->action; // 'list'
echo $result->id; // null
$request = \Symfony\Component\HttpFoundation\Request::create('/articles', 'POST');
$result = $router->route($request);
echo $result->controller; // 'ArticlesController'
echo $result->action; // 'create'
echo $result->id; // null
$request = \Symfony\Component\HttpFoundation\Request::create('/articles/1', 'POST');
$result = $router->route($request);
echo $result->controller; // 'ArticlesController'
echo $result->action; // 'edit'
echo $result->id; // 1
$request = \Symfony\Component\HttpFoundation\Request::create('/articles/1', 'GET');
$result = $router->route($request);
echo $result->controller; // 'ArticlesController'
echo $result->action; // 'show'
echo $result->id; // 1
$request = \Symfony\Component\HttpFoundation\Request::create('/articles/1/delete', 'POST');
$result = $router->route($request);
echo $result->controller; // 'ArticlesController'
echo $result->action; // 'delete'
echo $result->id; // 1
$request = \Symfony\Component\HttpFoundation\Request::create('/articles/1/comments', 'GET');
$result = $router->route($request);
echo $result->controller; // 'ArticlesController'
echo $result->action; // 'comments'
echo $result->id; // 1
测试
运行:vendor/bin/phpunit tests/
测试也是库使用的示例