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.