メソッドから実際の呼び出しオブジェクトを取得する方法はありますか?PHPはメソッドの呼び出しオブジェクトを取得します
例えば、私はこのような何かをシナリオを持っている:
$user = new User;
$user->setName('name');
$user->save($user);
保存方法に$ユーザーを渡すと、それはちょうどそれが呼び出し元のオブジェクトの情報を取得しているといいだろう代わりに。
私はget_called_class()
を実行できますが、実際のオブジェクトのデータは返されません。私はPHPのReflectionクラスも見ていましたが、まさに正しいものは見ませんでした。
アイデア?
ありがとうございます!
'$ this'を使わないのはなぜですか?' setName'メソッドで使ったことは確かです – knittl
私はこれを私のbで過度に複雑化したので雨。 – David
実際には、思考プロセスをより正確に記述するため。 Userオブジェクトは、Modelオブジェクトを拡張します。これは、save()メソッドを持つDbオブジェクトを拡張します。 $ thisをDbオブジェクト内で使用することで、私が必要とするのはUserだけですが、実際にDb、Model、Userを取得しています。それは本当に重要ではありませんが、私が望んでいたほどきれいではありませんでした。 – David