Php Yii2中的嵌套路由

Php Yii2中的嵌套路由,php,yii2,url-routing,Php,Yii2,Url Routing,例如,我有两条路线: /site/test /site/test/foo 我需要为UrlManager编写规则,以便它将第一条规则传递给TestController,第二条传递给FooController 我真的可以这样做吗?您实际上嵌套了3个控制器,我认为这不是一个好主意,但您可以按如下方式进行操作: 'urlManager' => [ 'rules' => [ 'site/test/foo/<action\w+>' => 'foo/<

例如,我有两条路线:

  • /site/test
  • /site/test/foo
  • 我需要为
    UrlManager
    编写规则,以便它将第一条规则传递给
    TestController
    ,第二条传递给
    FooController


    我真的可以这样做吗?

    您实际上嵌套了3个控制器,我认为这不是一个好主意,但您可以按如下方式进行操作:

    'urlManager' => [
        'rules' => [
            'site/test/foo/<action\w+>' => 'foo/<action>',
            'site/test/<action\w+>' => 'test/<action>',
            'site/<action\w+>' => 'site/<action>',
            ...
        ],
    ],
    
    'urlManager'=>[
    “规则”=>[
    “site/test/foo/”=>“foo/”,
    “站点/测试/”=>“测试/”,
    “site/”=>“site/”,
    ...
    ],
    ],
    
    为什么这不是个好主意?例如,如果我有/messages和/messages/comments怎么办?这对于一个类来说太多了。这更像是我不喜欢在站点中同时使用test和foo,而且除了登录、注销、错误和索引页,我通常不使用站点控制器,其他我通常在单独的控制器或模块中设置的所有内容。