slip / router

该软件包最新版本(dev-master)没有提供许可证信息。

增强型 Slim 路由器,支持命名空间

dev-master 2019-04-20 19:26 UTC

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)。