来自Laravel和Rails的背景,我发现要弄清楚Yii2规则是如何工作的相当困难。
我正在寻找以下网址格式:
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更加感兴趣。
可以使用<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] 删除。
我来说两句