这是一个非常简化的设置示例:
包括/form.php
$secret_var = 'Mind blowing secret';
return '<form></form>';
页面.php
echo include('includes/form.php'); // Notice the unusual way of including
echo $secret_var;
结果
<form></form>
Mind blowing secret
如您所见,我不回来$secret_var
了,但它仍然暴露在外!
为include/form.php中的所有变量创建范围的最有效方法是什么,以便 PHP 自动取消设置它们?
当然我知道我可以运行unset($secret_var);
,但是有很多形式,每个变量都有很多变量,不同的开发人员不断地改变它们。从长远来看,这种方法基本上意味着 100% 的机会出现错误。我需要以某种方式自动完成(如函数中的变量),但在这种情况下不使用命名函数(一个文件可能包含多次)。将page.php中的代码保持不变也是最高优先级,因为这将意味着系统范围内的大量更改。
也许我可以使用匿名函数之类的?最好不要损害性能...