boz*_*arc 5 php yii-routing yii2
我想在一条共同路径下分组路径.我在Yii2文档中发现这可以通过GroupUrlRule()类来实现.我无法理解在哪里设置它.我试图把它作为一个规则urlManager,confing/web.php但没有任何事情发生.
想象一下,你有一些模块.您的confing/web.php文件可能如下所示:
'components' => [
'urlManager' => [
'class' => 'yii\web\UrlManager',
'showScriptName' => false,
'enablePrettyUrl' => true,
'rules' => [
[
'class' => 'yii\web\GroupUrlRule',
'prefix' => 'module',
'rules' => [
'/' => 'controller/index',
'create' => 'controller/create',
'edit' => 'controller/edit',
'delete' => 'controller/delete',
],
],
],
],
]
Run Code Online (Sandbox Code Playgroud)
现在,通过URL hostname.com/module将被称为'module/controller/index'.
你可以在Bootstrap文件中做到这一点.例:
项目/ bootstrap.php中
namespace app;
use yii\base\BootstrapInterface;
use yii\web\GroupUrlRule;
class Bootstrap implements BootstrapInterface
{
public $urlRules = [
'prefix' => 'admin',
'rules' => [
'login' => 'user/login',
'logout' => 'user/logout',
'dashboard' => 'default/dashboard',
],
];
public function bootstrap($app)
{
$app->get('urlManager')->rules[] = new GroupUrlRule($this->urlRules);
}
}
Run Code Online (Sandbox Code Playgroud)
项目/配置/ web.php
return [
// ...
'bootstrap' => [
'log',
'app\Bootstrap',
],
// ...
]
Run Code Online (Sandbox Code Playgroud)
PS Bootstrap文件对于模块化应用程序结构非常有用.在模块的文件夹中配置模块的路由要清楚得多.为此,只需为其文件夹中的每个模块创建Bootstrap文件.但是不要忘记更新bootstrap应用程序配置文件的部分.
| 归档时间: |
|
| 查看次数: |
2592 次 |
| 最近记录: |