Abstract Class yii\web\CompositeUrlRule

继承yii\web\CompositeUrlRule » yii\base\BaseObject
实现yii\base\Configurable, yii\web\UrlRuleInterface
子类yii\rest\UrlRule, yii\web\GroupUrlRule
可用自版本2.0
源代码 https://github.com/yiisoft/yii2/blob/master/framework/web/CompositeUrlRule.php

CompositeUrlRule 是 URL 规则类的基类, URL 规则类包含多个更简单的规则.

公共属性

隐藏继承的属性

属性类型描述定义在
$createUrlStatus null|integer 上一次 createUrl() 调用之后 URL 创建的状态. 如果规则未提供有关创建状态的信息, 则未null. 该属性是只读的. yii\web\CompositeUrlRule

受保护的属性

隐藏继承的属性

属性类型描述定义在
$createStatus integer|null 上一次 createUrl() 调用之后 URL 创建的状态. yii\web\CompositeUrlRule
$rules yii\web\UrlRuleInterface[] 该复合规则中包含的 URL 规则. yii\web\CompositeUrlRule

公共方法

隐藏继承的方法

方法描述定义在
__call() 调用不是类方法的已命名方法. yii\base\BaseObject
__construct() 构造函数. yii\base\BaseObject
__get() 返回对象属性的值. yii\base\BaseObject
__isset() 检查属性是否已设置, 即已定义且不为null. yii\base\BaseObject
__set() 设置对象属性的值. yii\base\BaseObject
__unset() 将对象属性设置为null. yii\base\BaseObject
canGetProperty() 返回一个值, 指示属性是否可读. yii\base\BaseObject
canSetProperty() 返回一个值, 指示属性是否可写. yii\base\BaseObject
className() 返回此类的完全限定名称. yii\base\BaseObject
createUrl() 根据给定的路由和参数创建一个 URL. yii\web\CompositeUrlRule
getCreateUrlStatus() 返回上一次 createUrl() 调用之后 URL 创建的状态. yii\web\CompositeUrlRule
hasMethod() 返回一个值, 指示方法是否已定义. yii\base\BaseObject
hasProperty() 返回一个值, 指示属性是否已定义. yii\base\BaseObject
init() 初始化对象. yii\web\CompositeUrlRule
parseRequest() 解析给定的请求并返回相应的路由和参数. yii\web\CompositeUrlRule

受保护的方法

隐藏继承的方法

方法描述定义在
createRules() 创建应包含在此复合规则中的 URL 规则. yii\web\CompositeUrlRule
iterateRules() 遍历指定的规则, 并为每个规则调用 createUrl(). yii\web\CompositeUrlRule

属性详情

$createStatus protected 属性 (可用自版本: 2.0.12)

上一次 createUrl() 调用之后 URL 创建的状态.

protected integer|null $createStatus null
$createUrlStatus public 属性

上一次 createUrl() 调用之后 URL 创建的状态. 如果规则未提供有关创建状态的信息, 则未null. 该属性是只读的.

$rules protected 属性

该复合规则中包含的 URL 规则. 通过 createRules() 的返回值在 init() 中设置此属性.

方法详情

createRules() protected abstract 方法

创建应包含在此复合规则中的 URL 规则.

protected abstract yii\web\UrlRuleInterface[] createRules ( )
return yii\web\UrlRuleInterface[]

URL 规则.

createUrl() public 方法

根据给定的路由和参数创建一个 URL.

public string|boolean createUrl ( $manager, $route, $params )
$manager yii\web\UrlManager

URL 管理器.

$route string

路由. 它的开头或结尾不应带有斜杠/.

$params array

参数.

return string|boolean

创建的 URL; 如果指定的规则均不能用于创建此 URL, 则返回false.

getCreateUrlStatus() public 方法 (可用自版本: 2.0.12)

返回上一次 createUrl() 调用之后 URL 创建的状态.

对于多个规则, 状态将由按位or运算符合并(eg. UrlRule::CREATE_STATUS_PARSING_ONLY | UrlRule::CREATE_STATUS_PARAMS_MISMATCH).

参见:

public null|integer getCreateUrlStatus ( )
return null|integer

上次 createUrl() 调用之后 URL 创建的状态. 如果规则未提供有关创建状态的信息, 则未null.

init() public 方法

初始化对象.

在使用给定的配置初始化对象之后, 在构造函数的末尾调用此方法.

public void init ( )
iterateRules() protected 方法 (可用自版本: 2.0.12)

遍历指定的规则, 并为每个规则调用 createUrl().

参见 createUrl().

protected boolean|string iterateRules ( $rules, $manager, $route, $params )
$rules yii\web\UrlRuleInterface[]

重复的规则.

$manager yii\web\UrlManager

URL 管理器.

$route string

路由. 它的开头或结尾不应带有斜杠/.

$params array

参数.

return boolean|string

创建的 URL; 如果指定的规则均不能用于创建此 URL, 则返回false.

parseRequest() public 方法

解析给定的请求并返回相应的路由和参数.

public array|boolean parseRequest ( $manager, $request )
$manager yii\web\UrlManager

URL 管理器.

$request yii\web\Request

Request 组件.

return array|boolean

解析结果. 路由和参数以数组形式返回. 如果为false, 则表示该规则不能用于解析此路由信息.