我有时会遇到此错误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));
}
答案 0 :(得分:1)
empty()实际上不是一个函数。 如果你愿意,它是一个构造或宏。 这意味着你不能将对象作为参数传递给它。 只是纯变量。
$is_use = $this->loadUser();
if (empty ($is_use))
{
...
}
答案 1 :(得分:1)
empty
仅将变量作为arg。 empty() only checks variables as anything else will result in a parse error.