我创建了一个自定义网址规则,并想在那里添加一些逻辑,但; Maximum allowed size for uploaded files.
upload_max_filesize = 2G
; Must be greater than or equal to upload_max_filesize
post_max_size = 2G
和parseRequest
方法没有执行。
createUrl
然后将其写在<?php
namespace app\components;
use yii\base\Object;
use yii\web\UrlRuleInterface;
/**
* {@inheritDoc}
*/
class CustomUrlRule extends Object implements UrlRuleInterface
{
/**
* {@inheritDoc}
*/
public function createUrl($manager, $route, $params)
{
echo __METHOD__;
die();
}
/**
* {@inheritDoc}
* @throws \yii\base\InvalidConfigException
*/
public function parseRequest($manager, $request)
{
echo __METHOD__;
die();
}
}
UrlManager
$rules
但是代码没有执行。我仍然可以看到我的应用页面。如何申请我无用的 'enablePrettyUrl' => true,
'showScriptName' => false,
'enableStrictParsing' => true,
'rules' => [
'class' => 'app\components\CustomUrlRule',
//other rules...
?
答案 0 :(得分:1)
正确的UrlManager示例配置为:
'rules' => [
['class' => 'MyUrlRule', 'pattern' => '...', 'route' => 'site/index', ...],
// ...
]
您需要将其包装在另一个数组中。
修改:您不必像我之前发布的那样扩展yii\web\UrlRule
而不是yii\base\Object
,只需要正确的界面。