2009年03月19日 13:45

PHPメモ

| http://www.kantenna.com/cgi-bin/mt/mt-tb.cgi/449

ブレイクスルーできそうな気がしたけど 結局どうにもならなかったコード。

何が問題だったかは覚えてない・・・

コード


// オブジェクト以外からオブジェクトへの型キャストは
// stdClassのインスタンスとなる
$var1 = array("func" => create_function("$x, $y", "return $x * $y;"), "num" => 5);
$obj1 = (object) $var1;
$func1 = $obj1->func;

var_dump($func1(5, $obj1->num));

// 同じこと
$obj2 = new stdClass;
$obj2->func = create_function("$x, $y", "return $x * $y;");
$obj2->num = 2;
$func2 = $obj2->func;

var_dump($func2(5, $obj2->num));

実行結果

int(25) int(10)

実験段階のものもありますがrunkitを利用すれば クラスや関数を動的に操作できるっぽい。

PHPメモタグ:

トラックバック

  • http://www.kantenna.com/cgi-bin/mt/mt-tb.cgi/449
コメント (0)
コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)





この情報を登録しますか?


先月アクセスが多かったページ