Class yii\web\UrlNormalizer
Inheritance | yii\web\UrlNormalizer » yii\base\Object |
---|---|
Implements | yii\base\Configurable |
Available since version | 2.0.10 |
Source Code | https://github.com/yiisoft/yii2/blob/master/framework/web/UrlNormalizer.php |
UrlNormalizer normalizes URLs for yii\web\UrlManager and yii\web\UrlRule.
Public Properties
Property | Type | Description | Defined By |
---|---|---|---|
$action | integer|callable|null | Action to perform during route normalization. | yii\web\UrlNormalizer |
$collapseSlashes | boolean | Whether slashes should be collapsed, for example site///index will be
converted into site/index |
yii\web\UrlNormalizer |
$normalizeTrailingSlash | boolean | Whether trailing slash should be normalized according to the suffix settings of the rule | yii\web\UrlNormalizer |
Public Methods
Method | Description | Defined By |
---|---|---|
__call() | Calls the named method which is not a class method. | yii\base\Object |
__construct() | Constructor. | yii\base\Object |
__get() | Returns the value of an object property. | yii\base\Object |
__isset() | Checks if a property is set, i.e. defined and not null. | yii\base\Object |
__set() | Sets value of an object property. | yii\base\Object |
__unset() | Sets an object property to null. | yii\base\Object |
canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\Object |
canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\Object |
className() | Returns the fully qualified name of this class. | yii\base\Object |
hasMethod() | Returns a value indicating whether a method is defined. | yii\base\Object |
hasProperty() | Returns a value indicating whether a property is defined. | yii\base\Object |
init() | Initializes the object. | yii\base\Object |
normalizePathInfo() | Normalizes specified pathInfo. | yii\web\UrlNormalizer |
normalizeRoute() | Performs normalization action for the specified $route. | yii\web\UrlNormalizer |
Protected Methods
Method | Description | Defined By |
---|---|---|
collapseSlashes() | Collapse consecutive slashes in $pathInfo, for example converts site///index into site/index . |
yii\web\UrlNormalizer |
normalizeTrailingSlash() | Adds or removes trailing slashes from $pathInfo depending on whether the $suffix has a trailing slash or not. | yii\web\UrlNormalizer |
Constants
Constant | Value | Description | Defined By |
---|---|---|---|
ACTION_NOT_FOUND | 404 | Represents showing 404 error page during route normalization. | yii\web\UrlNormalizer |
ACTION_REDIRECT_PERMANENT | 301 | Represents permament redirection during route normalization. | yii\web\UrlNormalizer |
ACTION_REDIRECT_TEMPORARY | 302 | Represents temporary redirection during route normalization. | yii\web\UrlNormalizer |
Property Details
Action to perform during route normalization. Available options are:
null
- no special action will be performed301
- the request should be redirected to the normalized URL using permanent redirection302
- the request should be redirected to the normalized URL using temporary redirection404
- yii\web\NotFoundHttpException will be throwncallable
- custom user callback, for example:function ($route, $normalizer) { // use custom action for redirections $route[1]['oldRoute'] = $route[0]; $route[0] = 'site/redirect'; return $route; }
Whether slashes should be collapsed, for example site///index
will be
converted into site/index
Whether trailing slash should be normalized according to the suffix settings of the rule
Method Details
Collapse consecutive slashes in $pathInfo, for example converts site///index
into site/index
.
protected string collapseSlashes ( $pathInfo ) | ||
$pathInfo | string | Raw path info. |
return | string | Normalized path info. |
---|
Normalizes specified pathInfo.
public string normalizePathInfo ( $pathInfo, $suffix, &$normalized = false ) | ||
$pathInfo | string | PathInfo for normalization |
$suffix | string | Current rule suffix |
$normalized | boolean | If specified, this variable will be set to |
return | string | Normalized pathInfo |
---|
Performs normalization action for the specified $route.
public array normalizeRoute ( $route ) | ||
$route | array | Route for normalization |
return | array | Normalized route |
---|---|---|
throws | yii\base\InvalidConfigException | if invalid normalization action is used. |
throws | yii\web\UrlNormalizerRedirectException | if normalization requires redirection. |
throws | yii\web\NotFoundHttpException | if normalization suggests action matching route does not exist. |
Adds or removes trailing slashes from $pathInfo depending on whether the $suffix has a trailing slash or not.
protected string normalizeTrailingSlash ( $pathInfo, $suffix ) | ||
$pathInfo | string | Raw path info. |
$suffix | string | |
return | string | Normalized path info. |
---|