パブリック メソッドが呼び出されるたびに呼び出されるメソッドを作成するにはどうすればよいですか? これはポストメソッドコールフックとも言えます。
私の現在のコード:
<?php
class Name {
public function foo() {
echo "Foo called\n";
}
public function bar() {
echo "Bar called\n";
}
protected function baz() {
echo "Baz called\n";
}
}
$name = new Name();
$name->foo();
$name->bar();
このコードの現在の出力は次のようになります。
Foo called
Bar called
別の public メソッドが呼び出されるたびに baz() メソッドが呼び出されるようにしたいと思います。例えば
Baz called
Foo called
Baz called
Bar called
私は次のようなことができたことを知っています:
public function foo() {
$this->baz();
echo "Foo called\n";
}
しかし、それは私の問題を実際には解決しません。なぜなら、それは実際には直交的ではなく、この他のメソッドをそれらの前に呼び出す必要がある100個のメソッドがある場合、実装するのは比較的面倒だからです。