Ejemplo n.º 1
0
 public function getRuleByRoute($route, $params)
 {
     $ruleCache = \Yii::$app->getCache()->get(UrlRule::className());
     if ($ruleCache == null) {
         $ruleCache = [];
     }
     $params = (array) $params;
     $cacheKey = $route . '?' . serialize($params);
     if (isset($ruleCache[$cacheKey])) {
         return $ruleCache[$cacheKey];
     }
     $rule = \hass\urlrule\models\UrlRule::getRuleByRoute($route, $params);
     if (!$rule) {
         return null;
     }
     $ruleCache[$cacheKey] = $rule;
     \Yii::$app->getCache()->set(UrlRule::className(), $ruleCache);
     return $rule;
 }