2

重複の可能性:
書き込みコンテキストでメソッドの戻り値を使用できない

このエラーが時々発生しまし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));
}
4

2 に答える 2

1

empty () は実際には関数ではありません。よろしければ、それは構造またはマクロです。これは、オブジェクトを引数として渡すことができないことを意味します。純粋な変数だけです。

$is_use = $this->loadUser();
if (empty ($is_use))
{
   ...
}
于 2012-08-07T16:02:21.420 に答える
1

empty変数のみを引数として取ります。empty() only checks variables as anything else will result in a parse error.

http://php.net/manual/en/function.empty.php

于 2012-08-07T16:02:32.840 に答える