Mi chiedo se PHP abbia un'equivalenza di IIFE (espressione di funzione immediatamente richiamata) come quella di Javascript. È possibile scrivere PHP Closure in modo che possa funzionare in modo simile a Javascript (invocazione, dipendenza, iniezione, direttiva)?IIFE (espressione funzione richiamata immediatamente) in PHP?
(function(){
myModule = angular.module('myAngularApplication', []);
}());
Questa espressione sopra è nota espressione di funzione come Subito invocata (IIFE). Poiché la definizione della funzione verrà immediatamente richiamata ogni volta che viene caricato il file .js. Il motivo principale per cui l'IIFE è efficace è che possiamo avere tutto il codice immediatamente in esecuzione senza la necessità di avere variabili e funzioni globali. Ora, quando lo facciamo, la nostra creazione del controller fallirà poiché stiamo usando la variabile globale per creare un controller con il modulo. Per aggirare questo problema, utilizzare la funzione getter angular.module per associare il controller al modulo. E mentre ci siamo, perché non mettere il controller in un IIFE troppo.
(function() {
var booksController = function ($scope) {
$scope.message = "Hello from booksController";
}
angular.module('myAngularApplication').controller('booksController', booksController);
}());
Fonte: http://www.codeproject.com/Articles/995498/Angular-Tutorial-Part-Understanding-Modules-and Grazie.
il codice php non pone la stessa priorità su Global-avoidance che JS fa, per una serie di ragioni. – dandavis
Il modello anonimo IIFE in JS è quello di fornire una parvenza di variabili private (poiché le variabili ES5 erano solo a scopo funzionale). Lo schema si espande in 'function foo() {...}; foo(); 'che può essere fatto in qualsiasi lingua. – ssube
eccetto che l'IIFE crea una variabile globale. Oo –