什么是PHP嵌套函数?
在JavaScript中,嵌套函数非常有用:闭包,私有方法以及您拥有的东西。
什么是嵌套PHP函数?有人使用它们吗?
这是我做的小调查
<?phpfunction outer( $msg ) {
function inner( $msg ) {
echo 'inner: '.$msg.' ';
}
echo 'outer: '.$msg.' ';
inner( $msg );
}
inner( 'test1' ); // Fatal error: Call to undefined function inner()
outer( 'test2' ); // outer: test2 inner: test2
inner( 'test3' ); // inner: test3
outer( 'test4' ); // Fatal error: Cannot redeclare inner()
回答:
基本上没有,我一直将其视为解析器的副作用。
伊兰·加珀林(Eran
Galperin)误认为这些功能是某种私有的,只是outer()
在运行之前才声明它们。它们也不是私有范围的,尽管确实延迟了,但它们确实污染了全球范围。作为回调,外部回调仍然只能被调用一次。我仍然看不到将其应用于很可能多次调用别名的数组有什么帮助。
唯一的“现实世界”的例子,我能挖出个是这个只能运行一次,并且可以IMO改写清洁。
我唯一能想到的是让模块调用[name] _include方法,该方法在全局空间中设置多个嵌套方法,并与
if (!function_exists ('somefunc')) { function somefunc() { }
}
检查。
PHP的OOP显然是一个更好的选择:)
以上是 什么是PHP嵌套函数? 的全部内容, 来源链接: utcz.com/qa/407769.html