2012-08-07 56 views
2

可能重複的:
Can't use method return value in write context意義 「在寫入方面無法使用方法的返回值」

我有時會遇到這個錯誤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)); 
} 
+2

您將在這裏找到答案http://stackoverflow.com/questions/1075534/cant-use-method-return-value-in-write-context?rq=1和可能重複那個。 – 2012-08-07 16:02:37

回答

1

空()是不是一個真正的功能。 這是一個構造或宏,如果你願意。 這意味着你不能將一個對象作爲參數傳遞給它。 只是純粹的變量。

$is_use = $this->loadUser(); 
if (empty ($is_use)) 
{ 
    ... 
}