PHP closures en anonieme functies
Home

PHP closures en anonieme functies

PHP closures en anonieme functies

Sluitingen (closures) en anonieme functies werden geïntroduceerd in PHP 5.3.0. Het zijn uiterst nuttige tools die elke PHP developer in zijn gereedschapskist moet hebben.

Closures

Een sluiting is een functie die van de omliggende toestand een object maakt op het moment dat de functie wordt gemaakt. De ingekapselde toestand bestaat in de sluiting ook wanneer de sluiting voortleeft nadat de oorspronkelijke omgeving, waarin de functie werd gemaakt, ophoudt te bestaan.

Anonieme functies

Een anonieme functie is precies dat - een functie zonder naam. Anonieme functies kunnen worden toegewezen aan variabelen en doorgegeven zoals elk andere PHP object. Maar het is nog steeds een functie, dus je kunt het aanroepen en doorgeven als argument. Anonieme functies zijn bijzonder bruikbaar als functie of methode callbacks.

Sluitingen en anonieme functies zijn, in theorie, aparte dingen. In PHP zijn sluitingen en anonieme functies precies hetzelfde. Dus als ik sluiting zeg, bedoel ik ook anonieme functie. En vice versa.

PHP sluitingen en anonieme functies gebruiken dezelfde syntax als een functie, maar laat je niet beetnamen, het zijn eigenlijk objecten vermomd als PHP functies. Als je een PHP sluiting of anonieme functie inspecteert zal je zien dat het instanties van de klasse sluiting zijn. Sluitingen worden beschouwd als eersteklas value types, net als een string of integer.

JI
2015-12-27 17:02:45