yupe\components\urlManager\LangUrlManager::getLangFromUrl PHP Метод

getLangFromUrl() публичный Метод

public getLangFromUrl ( ) : null | string
Результат null | string
    public function getLangFromUrl()
    {
        if (null === $this->_langFromUrl) {
            /* @var $request \CHttpRequest */
            $request = Yii::app()->getRequest();
            $path = explode('/', $request->getPathInfo());
            $language = !empty($path[0]) ? $path[0] : null;
            if ($language === null) {
                $language = $request->getQuery($this->langParam);
            }
            $language = in_array($language, $this->_languages, true) ? $language : null;
            $this->_langFromUrl = $language;
        }
        return $this->_langFromUrl;
    }

Usage Example

Пример #1
0
 /**
  * Обработка запроса
  *
  * @param mixed $event
  * @return void
  */
 public function handleLanguageBehavior($event)
 {
     /* @var $request \CHttpRequest */
     $request = Yii::app()->getRequest();
     $current = $this->lm->getCurrentLang();
     $this->setLanguage($current);
     $default = $this->lm->getDefaultLang();
     $fromUrl = $this->lm->getLangFromUrl();
     if (null === $fromUrl && $current !== $default) {
         $request->redirect($this->lm->replaceLangInUrl($request->getUrl(), $current));
     }
     if (null !== $fromUrl && $current === $default) {
         $request->redirect($this->lm->removeLangFromUrl($request->getUrl()));
     }
 }