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
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
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
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…