[英]Syntax for defining rules for routes in yii2
我使用Yii2漂亮的網址,想玩弄我定義的規則UrlManager
,但沒有找到任何文件,我怎么能在定義變量'pattern' => 'route'
規則集。 找到了一些例子
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'enableStrictParsing' => false,
'rules' => [
"home" => "site/index",
"login" => "site/login",
"sign-up" => "site/sign-up",
'<controller:[\w-]+>/<id:\d+>' => '<controller>/view',
],
],
但是:[\\w-]+
或:\\d+
代表什么呢?
例如,如果我想定義一個模式來指向需要兩個參數的操作,該怎么辦?
class MyController extends Controller{
...
public function actionMyAction($param1, $param2){
...
}
}
現在,我希望網絡用戶在網址欄中輸入www.mysite.com/my-controller/my-action/XY
,其中X
是$param1
的值, Y
是$param2
的值,並使用-
作為參數分隔符。
謝謝。
[\\ w-] +和\\ d +是正則表達式,第一個表示任何字母或破折號,重復一次或多次,該部分僅表示數字,重復一次或多次。
在規則表達式中,使用<variable name:regex>
為路由放置一個占位符,該占位符將解析為傳遞給控制器操作的變量。
如果$ param1和$ param2都是數字,則規則應如下所示。
'my-controller/my-action/<param1:\\d+>-<param2:\\d+>' => 'my-controller/my-action',
如果需要字母,請將\\ d交換為\\ w。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.