@@ -72,8 +72,8 @@ class UrlManager extends BaseUrlManager
7272 public $ keepUppercaseLanguageCode = false ;
7373
7474 /**
75- * @var string the name of the session key that is used to store the
76- * language. Default is '_language'.
75+ * @var string|bool the name of the session key that is used to store the
76+ * language. If `false` no session is used. Default is '_language'.
7777 */
7878 public $ languageSessionKey = '_language ' ;
7979
@@ -418,8 +418,10 @@ protected function persistLanguage($language)
418418 ]));
419419 }
420420 }
421- Yii::$ app ->session [$ this ->languageSessionKey ] = $ language ;
422- Yii::trace ("Persisting language ' $ language' in session. " , __METHOD__ );
421+ if ($ this ->languageSessionKey !== false ) {
422+ Yii::$ app ->session [$ this ->languageSessionKey ] = $ language ;
423+ Yii::trace ("Persisting language ' $ language' in session. " , __METHOD__ );
424+ }
423425 if ($ this ->languageCookieDuration ) {
424426 $ cookie = new Cookie (array_merge (
425427 ['httpOnly ' => true ],
@@ -440,8 +442,11 @@ protected function persistLanguage($language)
440442 */
441443 protected function loadPersistedLanguage ()
442444 {
443- $ language = Yii::$ app ->session ->get ($ this ->languageSessionKey );
444- $ language !==null && Yii::trace ("Found persisted language ' $ language' in session. " , __METHOD__ );
445+ $ language = null ;
446+ if ($ this ->languageSessionKey !== false ) {
447+ $ language = Yii::$ app ->session ->get ($ this ->languageSessionKey );
448+ $ language !==null && Yii::trace ("Found persisted language ' $ language' in session. " , __METHOD__ );
449+ }
445450 if ($ language ===null ) {
446451 $ language = $ this ->_request ->getCookies ()->getValue ($ this ->languageCookieName );
447452 $ language !==null && Yii::trace ("Found persisted language ' $ language' in cookie. " , __METHOD__ );
0 commit comments