我在accessRules()函數中使用下面的代碼來匹配登錄用戶的角色。該角色在使用Yii ::使用未定義的常量
$this->setState('role', $record->role);
的代碼在accessRules()函數的認證過程中設置爲:
$role="";
if(Yii::app()->user->getId()===null)
{
$role="guest";
}
else
{
$role=Yii::app()->user->role;
}
return array(
array('allow', 'actions'=>array('index','view'),
'users'=>array('*'),
),
);
此代碼工作正常我本地機器上,但是當我把它上傳到服務器它給我Use of undefined constant guest - assumed 'guest'
錯誤。 這是什麼原因以及如何解決這個問題。謝謝!!!
這很可能是你錯過了一個變量值的''''或'''。你顯示的代碼與你的問題看起來並不相關。實際上,如果你看一下堆棧跟蹤,你應該看到在哪一行錯誤發生 –
它在Yii :: createWebApplication($ config) - > run()提供錯誤; –
看一下完整的堆棧跟蹤錯誤必須顯然發生在使用'guest'的行,PHP通常會告訴你確切地在哪個文件中,在哪一行發生了錯誤,如果它不(這可能很奇怪),也許你可以搜索你的代碼庫的這個詞 –