“在写入上下文中不能使用方法返回值”的含义
可能重复:
在写入上下文中不能使用方法返回值
我有时遇到此错误Can't use method return value in write context
。 但是,我不知道WRITE CONTEXT
在这句话中意味着什么。 有人能告诉我一个一般的解释。
谢谢。
如果你想引用这个错误的代码是在线if(empty($this->loadUser()))
然而,只是为了澄清,我只想找出“写上下文”的含义:
public function verify()
{
if(empty($this->loadUser()))
$this->addError('username','Incorrect username.');
else
{
$user = $this->loadUser();
$project = $this->loadProject($pid);
$project->associateUserToProject($this->loadUser());
$project->associateUserToRole($this->role, $this->user->id)
}
}
public function loadUser() {
return User::model()->findByAttributes(array('username'=>$this->username));
}
empty()真的不是一个函数。 如果你愿意,它是一个构造或宏。 这意味着你不能将一个对象作为参数传递给它。 只是纯粹的变量。
$is_use = $this->loadUser();
if (empty ($is_use))
{
...
}
empty
仅将变量作为参数。 empty() only checks variables as anything else will result in a parse error.
http://php.net/manual/en/function.empty.php
链接地址: http://www.djcxy.com/p/58431.html上一篇: Meaning of "Can't use method return value in write context"