PHPで質問です。

現在、クロージャを使用しておりますが、php5.2に対応が必要になりました。
バージョン間の吸収をするにはどうすれば良いでしょうか?

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2014/02/10 20:25:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:bg5551 No.1

回答回数1184ベストアンサー獲得回数80

こちらを参考にしてみてはどうでしょうか?
http://php6.jp/php5-3/無名関数(クロージャ)/
http://qiita.com/Hiraku/items/aa711a7cd967594031eb

id:makocan

うーん。これは、前者はクロージャの説明、後者はクロージャを使うなという意味合いだけですね。

2014/02/04 18:10:16
id:gizmo5 No.2

回答回数504ベストアンサー獲得回数141

ポイント200pt

ご存じで質問されているのだと思いますが、クロージャは 5.3 で追加になった機能ですから 5.3 未満に対応させるにはクロージャの部分を書き換えてあげるしか方法が無いです。
できるだけ機械的に対応したいということであればクロージャの部分のコードを文字列に変えて create_function を使う方法が良いと思います。

ただし create_function は呼び出すたびにユニークな関数を生成するので些少ですがメモリをリークしたような挙動をします。
呼び出し回数が多いものであれば以下のブログに書いてあるようにインスタンスを使いまわすようにした方が良いと思います。
http://bloggdgd.blog28.fc2.com/blog-entry-280.html

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません