我想知道 PHP 是否与 Javascript 一样等价 IIFE(立即调用的函数表达式)。 PHP Closure 能否以任何方式编写,以便它可以像 Javascript 一样工作(调用、依赖、注入(inject)、指令)?
(function(){
myModule = angular.module('myAngularApplication', []);
}());
上面的表达式称为立即调用函数表达式 (IIFE)。因为函数定义将在加载 .js 文件时立即调用自身。 IIFE 有效的主要原因是我们可以立即执行所有代码,而无需全局变量和函数。现在,当我们这样做时,我们的 Controller 创建将失败,因为我们使用全局变量通过模块创建 Controller 。为了避免这个问题,让我们使用 getter 函数 angular.module 将 Controller 与模块相关联。当我们这样做的时候,为什么不把 Controller 也放在 IIFE 中。
(function () {
var booksController = function ($scope) {
$scope.message = "Hello from booksController";
}
angular.module('myAngularApplication').controller('booksController', booksController);
}());
来源:http://www.codeproject.com/Articles/995498/Angular-Tutorial-Part-Understanding-Modules-and 谢谢。
最佳答案
在 PHP 7 中,是的,您可以:
(function() { echo "yes, this works in PHP 7.\n"; })();
这在 PHP 5.x 中不起作用。相反,最接近的是:
call_user_func(function() { echo "this works too\n"; });
关于javascript - PHP 中的 IIFE(立即调用函数表达式)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35044452/