6.12 Dynamische Funktionen erzeugen
Problem
Sie möchten eine Funktion anlegen und definieren, während das Programm läuft.
Lösung
Seit PHP 5.3 können Sie hierfür eine Lambda-Funktion einsetzen:
$add = function($a, $b) {return $a+$b;}; $add(1, 1); // gibt 2 zurück
In PHP-Versionen vor 5.3 verwenden Sie create_function()
:
$add = create_function('$i,$j', 'return $i+$j;'); $add(1, 1); // gibt 2 zurück
Diskussion
Mit PHP 5.3 wurden Lambda-Funktionen eingeführt. Eine Lambda-Funktion ist eine anonyme Funktion, die an der Stelle ihrer Verwendung deklariert wird. Sie können eine Lambda-Funktion einer Variablen zuweisen und sie somit auch als Argument an andere Funktionen übergeben. Lambda-Funktionen existieren nur in dem Geltungsbereich der Variablen, der sie zugewiesen ...
Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.