我开始学习Yii框架。在教程视频中,我复制了使用setFlash的代码,用于表单上的错误消息。我已经检查了很多次代码并且我非常确定它与视频完全相同但是我一直收到一条错误消息,指的是这一行:
Yii:app()->user->setFlash('failure', "There was a problem saving the data!");
错误说:
Fatal error: Label 'Yii' already defined in C:\wamp\www\photogallery\protected\controllers\AlbumController.php on line 77
public function actionCreate()
{
$model=new Album;
// Uncomment the following line if AJAX validation is needed
$this->performAjaxValidation($model);
if(isset($_POST['Album']))
{
$model->attributes=$_POST['Album'];
if($model->save()){
Yii:app()->user->setFlash('saved', "Data saved!");
$this->redirect(array('update','id'=>$model->id));
} else{
Yii:app()->user->setFlash('failure', "There was a problem saving the data!");
}
}
$this->render('create',array(
'model'=>$model,
));
}
也许它错过了一个错字但它与视频教程完全一样,它似乎适合他,我在网上看了一些其他类似的代码,它似乎使用Yii的两个实例:app()in一个if / else语句。错误消息没有在谷歌上返回任何类似的问题所以我猜它的东西很简单
答案 0 :(得分:5)
使用静态方法时,您需要使用双冒号,而不是单个冒号。
Yii::app()
不是Yii:app()