A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.yiiframework.com/doc/api/2.0/yii-web-groupurlrule below:

GroupUrlRule, yii\web\GroupUrlRule | API Documentation for Yii 2.0

Class yii\web\GroupUrlRule

GroupUrlRule represents a collection of URL rules sharing the same prefix in their patterns and routes.

GroupUrlRule is best used by a module which often uses module ID as the prefix for the URL rules. For example, the following code creates a rule for the admin module:

new GroupUrlRule([
    'prefix' => 'admin',
    'rules' => [
        'login' => 'user/login',
        'logout' => 'user/logout',
        'dashboard' => 'default/dashboard',
    ],
]);



[
    'admin/login' => 'admin/user/login',
    'admin/logout' => 'admin/user/logout',
    'admin/dashboard' => 'admin/default/dashboard',
]

The above example assumes the prefix for patterns and routes are the same. They can be made different by configuring $prefix and $routePrefix separately.

Using a GroupUrlRule is more efficient than directly declaring the individual rules it contains. This is because GroupUrlRule can quickly determine if it should process a URL parsing or creation request by simply checking if the prefix matches.

Property Details

Hide inherited properties

The prefix for the pattern part of every rule declared in $rules. The prefix and the pattern will be separated with a slash.

The prefix for the route part of every rule declared in $rules. The prefix and the route will be separated with a slash. If this property is not set, it will take the value of $prefix.

The default configuration of URL rules. Individual rule configurations specified via $rules will take precedence when the same property of the rule is configured.

Method Details

Hide inherited methods

Defined in: yii\base\BaseObject::__call()

Calls the named method which is not a class method.

Do not call this method directly as it is a PHP magic method that will be implicitly called when an unknown method is being invoked.

Source code

                public function __call($name, $params)
{
    throw new UnknownMethodException('Calling unknown method: ' . get_class($this) . "::$name()");
}

            

Defined in: yii\base\BaseObject::__construct()

Constructor.

The default implementation does two things:

If this method is overridden in a child class, it is recommended that

public void __construct ( $config = [] ) $config array

Name-value pairs that will be used to initialize the object properties

Source code

                public function __construct($config = [])
{
    if (!empty($config)) {
        Yii::configure($this, $config);
    }
    $this->init();
}

            

Defined in: yii\base\BaseObject::__get()

Returns the value of an object property.

Do not call this method directly as it is a PHP magic method that will be implicitly called when executing $value = $object->property;.

See also __set().

Source code

                public function __get($name)
{
    $getter = 'get' . $name;
    if (method_exists($this, $getter)) {
        return $this->$getter();
    } elseif (method_exists($this, 'set' . $name)) {
        throw new InvalidCallException('Getting write-only property: ' . get_class($this) . '::' . $name);
    }
    throw new UnknownPropertyException('Getting unknown property: ' . get_class($this) . '::' . $name);
}

            
public boolean __isset ( $name ) $name string

The property name or the event name

return boolean

Whether the named property is set (not null).

Source code

                public function __isset($name)
{
    $getter = 'get' . $name;
    if (method_exists($this, $getter)) {
        return $this->$getter() !== null;
    }
    return false;
}

            

Defined in: yii\base\BaseObject::__set()

Sets value of an object property.

Do not call this method directly as it is a PHP magic method that will be implicitly called when executing $object->property = $value;.

See also __get().

Source code

                public function __set($name, $value)
{
    $setter = 'set' . $name;
    if (method_exists($this, $setter)) {
        $this->$setter($value);
    } elseif (method_exists($this, 'get' . $name)) {
        throw new InvalidCallException('Setting read-only property: ' . get_class($this) . '::' . $name);
    } else {
        throw new UnknownPropertyException('Setting unknown property: ' . get_class($this) . '::' . $name);
    }
}

            

Defined in: yii\base\BaseObject::__unset()

Sets an object property to null.

Do not call this method directly as it is a PHP magic method that will be implicitly called when executing unset($object->property).

Note that if the property is not defined, this method will do nothing. If the property is read-only, it will throw an exception.

See also https://www.php.net/manual/en/function.unset.php.

Source code

                public function __unset($name)
{
    $setter = 'set' . $name;
    if (method_exists($this, $setter)) {
        $this->$setter(null);
    } elseif (method_exists($this, 'get' . $name)) {
        throw new InvalidCallException('Unsetting read-only property: ' . get_class($this) . '::' . $name);
    }
}

            

Defined in: yii\base\BaseObject::canGetProperty()

Returns a value indicating whether a property can be read.

A property is readable if:

See also canSetProperty().

Source code

                public function canGetProperty($name, $checkVars = true)
{
    return method_exists($this, 'get' . $name) || $checkVars && property_exists($this, $name);
}

            

Defined in: yii\base\BaseObject::canSetProperty()

Returns a value indicating whether a property can be set.

A property is writable if:

See also canGetProperty().

public boolean canSetProperty ( $name, $checkVars true ) $name string

The property name

$checkVars boolean

Whether to treat member variables as properties

return boolean

Whether the property can be written

Source code

                public function canSetProperty($name, $checkVars = true)
{
    return method_exists($this, 'set' . $name) || $checkVars && property_exists($this, $name);
}

            

Deprecated since 2.0.14. On PHP >=5.5, use ::class instead.

Source code

                public static function className()
{
    return get_called_class();
}

            

Creates the URL rules that should be contained within this composite rule.

Source code

                protected function createRules()
{
    $rules = [];
    foreach ($this->rules as $key => $rule) {
        if (!is_array($rule)) {
            $verbs = 'GET|HEAD|POST|PUT|PATCH|DELETE|OPTIONS';
            $verb = null;
            if (preg_match("/^((?:(?:$verbs),)*(?:$verbs))\\s+(.*)$/", $key, $matches)) {
                $verb = explode(',', $matches[1]);
                $key = $matches[2];
            }
            $rule = [
                'pattern' => ltrim($this->prefix . '/' . $key, '/'),
                'route' => ltrim($this->routePrefix . '/' . $rule, '/'),
                'verb' => $verb
            ];
        } elseif (isset($rule['pattern'], $rule['route'])) {
            $rule['pattern'] = ltrim($this->prefix . '/' . $rule['pattern'], '/');
            $rule['route'] = ltrim($this->routePrefix . '/' . $rule['route'], '/');
        }
        $rule = Yii::createObject(array_merge($this->ruleConfig, $rule));
        if (!$rule instanceof UrlRuleInterface) {
            throw new InvalidConfigException('URL rule class must implement UrlRuleInterface.');
        }
        $rules[] = $rule;
    }
    return $rules;
}

            

Creates a URL according to the given route and parameters.

Source code

                public function createUrl($manager, $route, $params)
{
    if ($this->routePrefix === '' || strpos($route, $this->routePrefix . '/') === 0) {
        return parent::createUrl($manager, $route, $params);
    }
    $this->createStatus = UrlRule::CREATE_STATUS_ROUTE_MISMATCH;
    return false;
}

            

Source code

                public function getCreateUrlStatus()
{
    return $this->createStatus;
}

            

Defined in: yii\base\BaseObject::hasMethod()

Returns a value indicating whether a method is defined.

The default implementation is a call to php function method_exists(). You may override this method when you implemented the php magic method __call().

Source code

                public function hasMethod($name)
{
    return method_exists($this, $name);
}

            

Defined in: yii\base\BaseObject::hasProperty()

Returns a value indicating whether a property is defined.

A property is defined if:

See also:

public boolean hasProperty ( $name, $checkVars true ) $name string

The property name

$checkVars boolean

Whether to treat member variables as properties

return boolean

Whether the property is defined

Source code

                public function hasProperty($name, $checkVars = true)
{
    return $this->canGetProperty($name, $checkVars) || $this->canSetProperty($name, false);
}

            

Initializes the object.

This method is invoked at the end of the constructor after the object is initialized with the given configuration.

Source code

                public function init()
{
    $this->prefix = trim((string)$this->prefix, '/');
    $this->routePrefix = $this->routePrefix === null ? $this->prefix : trim($this->routePrefix, '/');
    parent::init();
}

            

Source code

                protected function iterateRules($rules, $manager, $route, $params)
{
    
    foreach ($rules as $rule) {
        $url = $rule->createUrl($manager, $route, $params);
        if ($url !== false) {
            $this->createStatus = UrlRule::CREATE_STATUS_SUCCESS;
            return $url;
        }
        if (
            $this->createStatus === null
            || !method_exists($rule, 'getCreateUrlStatus')
            || $rule->getCreateUrlStatus() === null
        ) {
            $this->createStatus = null;
        } else {
            $this->createStatus |= $rule->getCreateUrlStatus();
        }
    }
    return false;
}

            

Parses the given request and returns the corresponding route and parameters.

Source code

                public function parseRequest($manager, $request)
{
    $pathInfo = $request->getPathInfo();
    if ($this->prefix === '' || strpos($pathInfo . '/', $this->prefix . '/') === 0) {
        return parent::parseRequest($manager, $request);
    }
    return false;
}

            

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4