人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: makocan
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● bg5551
●0ポイント

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


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

2 ● gizmo5
●200ポイント

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

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

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ