我有很多像这样的规则:
'/manager/stale-zwroty/zmien/<idDomain:\d+>' => '/owner/chat-texts/update',
正确生成了网址,但当我尝试进入网页/manager/stale-zwroty/zmien/1
时,无法读取idDomain
参数值。
我注意到与上述规则对应的UrlRule实例具有空属性$this->placeholders
。
我从作曲家安装了最新的Yii版本。以前它工作正常。
以下是UrlRule实例结果的var_dump
:
object(yii\web\UrlRule)#59 (15) {
["name"]=>
string(42) "/manager/stale-zwroty/zmien/<idDomain:\d+>"
["pattern"]=>
string(50) "#^manager/stale-zwroty/zmien/(?P<ac4b8b691>\d+)$#u"
["host"]=>
NULL
["route"]=>
string(23) "owner/chat-texts/update"
["defaults"]=>
array(0) {
}
["suffix"]=>
NULL
["verb"]=>
NULL
["mode"]=>
NULL
["encodeParams"]=>
bool(true)
["placeholders":protected]=>
array(0) {
}
["_template":"yii\web\UrlRule":private]=>
string(39) "/manager/stale-zwroty/zmien/<idDomain>/"
["_routeRule":"yii\web\UrlRule":private]=>
NULL
["_paramRules":"yii\web\UrlRule":private]=>
array(1) {
["idDomain"]=>
string(8) "#^\d+$#u"
}
["_routeParams":"yii\web\UrlRule":private]=>
array(0) {
}
["_placeholders":"yii\web\UrlRule":private]=>
array(1) {
["ac4b8b691"]=>
string(8) "idDomain"
}
}
答案 0 :(得分:0)
我找到了答案。
Yii2 UrlManager从缓存中获取url-rules。我删除了runtime/cache
个内容,现在正在使用。