"Ukazatel" na anonymní funkce ve třídě rubrika: Programování: PHP
4
Milan Suk
položil/-a 10.11.2014
Řeším následující problém: mám třídu, která obstarává běh formuláře a potřebuji kontrolovat validitu vstupů. Pokud to nějak lze udělat, potřeboval bych pomocí metody předat referenci na anonymní třídu do vlastnosti a pak tělo této funkce v hodný okamžik zavolat. Schematicky něco takového:
class form { $this->err_func; public function onError($func) { $this->err_func = $func; } public function anotherEvent($params) { $this->err_func($params); } }
Jde vůbec něco takového v PHP udělat? Jak? Popř. existuje jiné/lepší řešení?
odkaz
Vyřešeno
9
Taco
odpověděl/-a 10.11.2014
Lze:
class form { private $err_func; public function onError(Closure $func) { $this->err_func = $func; } public function anotherEvent($params) { $fn = $this->err_func; $fn($params); } }
Tedy, problém je čistě syntaktické omezení.
Existuje i IMHO jiné/lepší řešení. Spočívající hlavně v tom, že to spoustu věcí už řeší za tebe.
Pro zobrazení všech 2 odpovědí se prosím přihlaste:
Nebo se přihlaste jménem a heslem:
Komentáře