3

設定の非常に単純化された例を次に示します。

include/form.php

$secret_var = 'Mind blowing secret';
return '<form></form>';

page.php

echo include('includes/form.php'); // Notice the unusual way of including
echo $secret_var;

結果

<form></form>
Mind blowing secret

ご覧のとおり、私は戻ってきません$secret_varが、まだ公開されています!

そのincludes/form.php内のすべての変数のスコープを作成して、PHP によって自動的に設定解除される最も効率的な方法は何ですか?

もちろんunset($secret_var);、実行できることはわかっていますが、多くのフォームがあり、それぞれに多くの変数があり、さまざまな開発者が絶えずそれらを変更しています。長期的には、この方法は基本的に 100% の確率でバグが発生することを意味します。何らかの形で自動化する必要がありますが (関数内の変数のように)、この場合は名前付き関数を使用しません (ファイルが複数回含まれる可能性があります)。また、 page.php内のコードを変更しないでおくことも最優先事項です。これは、システム全体に多くの変更が加えられることを意味します。

たぶん、匿名関数か何かを使用できますか?性能を落とさなくてよかった…

4

1 に答える 1