在PHP中封装匿名函数中的变量
我是一名JS开发人员,经常使用自动执行的匿名函数来尽量减少全球范围内的污染。
即:(JS)
(function(){
var x = ...
})();
在PHP中使用相同的技术/建议最小化函数/变量名称冲突?
即:(PHP)
(function(){
$x = 2;
function loop($a){
...
}
loop($x);
})();
为了避免全球污染,请使用类和面向对象的方法:请参阅此处的PHP文档
为了进一步避免污染,避免静态和全局变量。
像Javascript中使用的闭包在Javascript中使用的原因是它(Javascript)是一种基于原型的语言,具有通常以OO为基础的语言显示的属性(形成意义上)。
是的,您可以在PHP中创建匿名函数,立即执行而不会污染全局名称空间;
call_user_func(function() {
$a = 'hi';
echo $a;
});
语法不如Javascript等效,但它的功能相同。 我发现这个构造非常有用,并且经常使用它。
你也可以返回这样的值;
$str = call_user_func(function() {
$a = 'foo';
return $a;
});
echo($str); // foo
echo($a); // Causes 'Undefined variable' error.
链接地址: http://www.djcxy.com/p/69321.html