gpt4 book ai didi

javascript - PHP 中的 IIFE(立即调用函数表达式)?

转载 作者:可可西里 更新时间:2023-10-31 23:04:56 25 4
gpt4 key购买 nike

我想知道 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com