framework/web/UrlManager.php
protected function canBeCached(UrlRuleInterface $rule)
    {
        return
            // if rule does not provide info about create status, we cache it every time to prevent bugs like #13350
            // @see https://github.com/yiisoft/yii2/pull/13350#discussion_r114873476
            !method_exists($rule, 'getCreateUrlStatus') || ($status = $rule->getCreateUrlStatus()) === null
            || $status === UrlRule::CREATE_STATUS_SUCCESS
            || $status & UrlRule::CREATE_STATUS_PARAMS_MISMATCH;
    }
protected function canBeCached(UrlRuleInterface $rule)
    {
        return
            // if rule does not provide info about create status, we cache it every time to prevent bugs like #13350
            // @see https://github.com/yiisoft/yii2/pull/13350#discussion_r114873476
            !method_exists($rule, 'getCreateUrlStatus') || ($status = $rule->getCreateUrlStatus()) === null
            || $status === UrlRule::CREATE_STATUS_SUCCESS
            || $status & UrlRule::CREATE_STATUS_PARAMS_MISMATCH;
    }
protected function canBeCached ( UrlRuleInterface $ rule ) { return // if rule does not provide info about create status, we cache it every time to prevent bugs like #13350 // @see https://github.com/yiisoft/yii2/pull/13350#discussion_r114873476 ! method_exists ( $ rule , 'getCreateUrlStatus' ) || ( $ status = $ rule -> getCreateUrlStatus ( ) ) === null || $ status === UrlRule :: CREATE_STATUS_SUCCESS || $ status & UrlRule :: CREATE_STATUS_PARAMS_MISMATCH ; }
Returns the value indicating whether result of [[createUrl()]] of rule should be cached in internal cache.

@param UrlRuleInterface $rule
@return bool `true` if result should be cached, `false` if not.
@since 2.0.12
@see getUrlFromCache()
@see setRuleToCache()
@see UrlRule::getCreateUrlStatus()
Returns the value indicating whether result of [[ createUrl () ]] of rule should be cached in internal cache .