Automatická registrace komponent
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- knyttl
- Člen | 196
Dobrý den,
chci se zeptat, zda lze nějak udělat automatickou registraci komponent. BasePresenter a BaseControl mám již přehlcen „createComponentBlaBla“. Ideální by bylo to registrovat ještě na nějaké vyšší úrovni, abych to nemusel dělat zvlášť pro Controly a pro Presentery.
Díky
- Ani
- Člen | 226
<?php
// BĚDA VÁM, JESTLI TOHLE NĚKDY POUŽIJETE! KÓD OBSAHUJE BEZPEČNOSTNÍ CHYBU.
protected function createComponent($name) {
$component = parent::createComponent($name);
if ($component === NULL && class_exists($name)) {
$component = new $name;
}
return $component;
}
?>
Něco takového. Ale dej si pozor na bezpečnost jednotlivých metod v komponentách.
Editoval Jan Tvrdík (3. 8. 2013 12:06)