私はクラスを持っています。PHPクラスがエラーを投げる、何が間違っています
Class User {
private $_name;
private $_email;
public static function factory() {
return new __CLASS__;
}
public function test() {
}
}
また、以下の構文を使用して静的メソッド呼び出しを行う場合。
User::factory();
構文エラーが発生します。
Parse error: syntax error, unexpected T_CLASS_C in htdocs/test/index.php on line 8
静的メソッド呼び出し中に静的なfactory()メソッドでオブジェクトを作成できないため、エラーがスローされます。
と私が魔法の定数__CLASSS__
を現在のクラスの名前、つまりUser
に変更すると、それは動作します。
何が欠けていますか?
は、なぜあなたは 'self'または' $ this'を返さないのですか?オブジェクトの新しいインスタンスが必要ですか? – powtac
はい、私は呼び出しを行うたびにオブジェクトの新しいインスタンスを作成する必要があります。 –