slip / router
该软件包最新版本(dev-master)没有提供许可证信息。
增强型 Slim 路由器,支持命名空间
dev-master
2019-04-20 19:26 UTC
Requires
- slim/slim: ^3.0
Requires (Dev)
- phpunit/phpunit: ^8
This package is not auto-updated.
Last update: 2024-09-30 19:56:50 UTC
README
Slip Router 允许您为 Slim 路由和路由组添加命名空间。
安装
通过 Composer
$ composer require slip/router
用法
您需要将默认的 Slim 路由器替换为 Slip 路由器
$app = new \Slim\App(); $container = $app->getContainer(); $container['router'] = function ($container) { $routerCacheFile = false; if (isset($container->get('settings')['routerCacheFile'])) { $routerCacheFile = $container->get('settings')['routerCacheFile']; } $router = (new \Slip\Routing\Router())->setCacheFile($routerCacheFile); $router->setContainer($container); return $router; };
然后您可以为您的路由设置命名空间
$app->get('/profile/user/{id}', 'UserController:getProfile')->setNamespace('App\Http\Controllers');
或者您可以为整个路由组添加命名空间
$app->group('/profile/user', function ($app) { $app->get('/{id}, 'UserController:getProfile'); })->setNamespace('App\Http\Controllers');
嵌套路由组也支持命名空间
$app->group('/profile', function ($app) { $app->group('/user', function ($app) { $app->get('/{id}, 'UserController:getProfile'); })->setNamespace('Http\Controllers'); })->setNamespace('App');
路由命名空间添加到路由组的命名空间中
$app->group('/profile', function ($app) { $app->group('/user', function ($app) { $app->get('/{id}, 'UserController:getProfile')->setNamespace('Controllers'); })->setNamespace('Http'); })->setNamespace('App');
测试
$ php ./vendor/bin/phpunit
许可证
MIT 许可证(MIT)。