PHP中的IIFE(立即调用的函数表达式)
IIFE (Immediately Invoked Function Expression) in PHP?
我想知道PHP是否像Javascript一样与IIFE(立即调用的函数表达式)等价。PHP闭包可以写成类似Javascript(调用,依赖,注入,指令)吗?
(function(){
myModule = angular.module('myAngularApplication', []);
}());
上面的这个表达式称为立即调用的函数表达式 (IIFE)。因为每当加载.js文件时,函数定义都会立即调用自身。IIFE 有效的主要原因是我们可以立即执行所有代码,而无需使用全局变量和函数。现在,当我们这样做时,我们的控制器创建将失败,因为我们使用全局变量通过模块创建控制器。为了规避这个问题,让我们使用 getter 函数 angular.module 将控制器与模块相关联。当我们在做这件事时,为什么不把控制器也放在 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"; });
你也可以立即在 php 中调用匿名类。
<?php new class (0,1) {
public function __construct (int $a, int $b) {
(($a < 1) ? 'var_dump' : 'var_export')(
gettype (($b > 0) ? __FUNCTION__
: (($a > 0) ? microtime (true)
: __LINE__
)))&exit;
}
};
相关文章:
- 能够在定义函数表达式之前使用它
- 函数表达式,返回回调函数
- JavaScript中的立即调用函数表达式(IIFE)-传递jQuery
- 函数声明与函数表达式之间的性能差异
- 立即调用函数表达式(IIFE)相对于普通函数的优势
- 如何防止 JS 缩小删除命名函数表达式的名称
- Angularjs 与 coffeescript 函数表达式中断
- JavaScript 混乱中的函数表达式
- 从ES6中的函数表达式访问类作用域
- 提升作为数组项的匿名函数表达式
- Javascript Mocha测试-测试函数表达式中的函数表达式
- 函数中的JavaScript函数表达式
- Javascript闭包覆盖函数表达式
- 函数表达式的词法作用域
- 请解释一下“;立即调用函数表达式“;以及“;自调用匿名函数”;
- JavaScript 中的函数语句和函数表达式
- ng-class 的函数表达式在 ng-click 时被调用
- 如何创建名称和主体存储在不同变量中的 JavaScript 函数表达式
- Object.Prototype 方法和 IIFE(立即调用的函数表达式)中的“use strict”
- 全局范围内的函数表达式与函数声明的区别