0

匿名関数をセッション変数に保存して後で使用することはできますか?

例えば:

$func = "echo $str;";
$_SESSION['myfunc'] = create_function('$str',$func);

呼び出す$_SESSION['myfunc']('Hello')と、作成されたページで正常に動作します。ただし、別のページで呼び出すと、エラーが発生します

未定義の関数への呼び出し()

他のセッション変数が利用できるので、それは問題ではありません。セッション データにラムダへの参照が表示されますが、動作させることができません。

4

3 に答える 3

3

クロージャをシリアライズできるライブラリがあります: https://github.com/jeremeamia/super_closure

これにより、クロージャーをセッションに保存できる場合があります。

ただし、それが良い考えかどうかはわかりません。

于 2013-05-28T09:12:41.807 に答える