Class Foo {
public function bar() {
echo $a;
}
}
$foo = new Foo();
$b = "Hello world";
/* here inject somehow $b into $foo->bar() */
$foo->bar(); //prints "Hello world"
$b = "I <3 php!";
$foo->bar(); //keeps printing "Hello world"
変数 $b をパラメーターとしてメソッド bar() に渡すか、クラス コンストラクターに渡すことなく、php で同様のことを行う方法はありますか?? また、グローバル変数も使用したくありません。
EDIT 1: なぜ私がそんなに奇妙なことをしたいのかと尋ねる人のために:私がこのようなことをするのはいいことです...
class Controller {
/**
* @post(name="address", type="email", required="true")
*/
public function foo() {
do_something_with($address);
//$address is equal to $_POST['address'] and have been checked
}
}
編集 2: PHP で注釈を実装する方法を探していません。すでにアノテーションの実装が存在するはずです。独自の注釈を宣言する方法を知っているので、メソッド内で変数を「魔法のように」宣言して初期化できるかどうかを知りたい