Yii2中的URL路由规则

挥发物3

来自Laravel和Rails的背景,我发现要弄清楚Yii2规则是如何工作的相当困难。

我正在寻找以下网址格式:

  • /文章/
  • / articles / view /
  • / articles / 1 /我的漂亮文章

ArticlesController 定义如下:

<?php

namespace app\controllers;

class ArticlesController extends \yii\web\Controller
{
    public function actionIndex()
    {
        return $this->render('index');
    }
    public function actionView()
    {
        return $this->render('index');
    }

}

到目前为止,我已经尝试过:

'urlManager' => [
            'showScriptName' => false,
            'enablePrettyUrl' => true,
            'rules' =>
                [
                    'articles/view' => 'article/view'
                ],
        ],

我对将我的模式重定向到controller @ method更加感兴趣。

瓦列里·维克托罗夫斯基(Valery Viktorovsky)

可以使用<id>param:

 'urlManager' => [
    'enablePrettyUrl' => true,
    'showScriptName' => false,
    'rules' => [
        '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
        '<controller:\w+>/<id:\d+>/<slug:\w+>' => '<controller>/view',
    ],
],

和您的文章控制器:

<?php

namespace app\controllers;

class ArticlesController extends \yii\web\Controller
{
    public function actionView()
    {
        $id = (int) Yii::$app->request->get('id');

        return $this->render('index');
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章