Přepis callbacku do PHP 5.2

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
jann
Člen | 30
+
0
-

Jde nějakým způsobem následující kód přepsat, aby fungoval i v PHP 5.2?

<?php
$template->onPrepareFilters[] = function($template) {
    $template->registerFilter(new NLatteFilter);
};
?>

Chtěl bych použít pouze šablonovací systém z Nette podle dokumentace a toto mi v PHP 5.2 nefunguje, jen v 5.3.

smasty
Člen | 90
+
0
-
function myPrepareFiltersCallback($template){
    $template->registerFilter(new NLatteFilter);
}

$template->onPrepareFilters[] = callback('myPrepareFiltersCallback');

Funkcia sa môže samozreme volať akokoľvek, môže to byť aj metóda (aj statická). V tom prípade sa callback naväzuje takto:

// Normálna metóda
$template->onPrepareFilters[] = callback($object, 'nazovCallbackMetody');

// Statická metóda
$template->onPrepareFilters[] = callback('NazovTriedy::nazovCallbackMetody');
kravčo
Člen | 721
+
0
-

V PHP 5.2 existuje aj funkcia create_function(), ktorá slúži k podobnému účelu, ale dosť pravdepodobne sa debuguje ťažšie ako zápis vyššie…