jakulov/corpuscle_router

Corpuscle Framework 路由器

dev-master 2015-12-31 09:08 UTC

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/

测试也是库使用的示例