CakePHP3" Creative"使用插件进行路由

时间:2017-04-01 01:31:37

标签: php cakephp cakephp-3.0

我正在使用CakePHP 3.4。我正在开发一个插件,我们称之为MyPlugin

MyPlugin有2个路由前缀,让我们调用一个/books,另一个/authors。其中每一个都有一组与路线相关的控制器。

在应用程序中,我希望能够在routes文件中声明前缀/admin/books指向插件中的books路由,而/authors指向/authors 。我应该怎么做呢?

Router::scope('/', function (RouteBuilder $routes) {
    $routes->prefix('admin/books', ['plugin' => 'MyPlugin'], function ($routes) {
        $routes->fallbacks();
    });

    $routes->prefix('authors', ['plugin' => 'MyPlugin'], function ($routes) {
        $routes->fallbacks();
    });
    $routes->fallbacks(DashedRoute::class);
});

Router::plugin(
    'MyPlugin',
    ['path' => '/'],
    function (RouteBuilder $routes) {
        $routes->prefix('/books', function (RouteBuilder $routes) {
          // controller actions...
        });

        $routes->prefix('/authors', function (RouteBuilder $routes) {
          //controller actions...
        });
    }
); 

编辑以响应@ndm:

我面临的问题是,插件需要能够让某些控制器控制' /'没有插件前缀的SEO目的,但需要保护一些路由,因为它们是管理路由。

0 个答案:

没有答案