Automatická registrace komponent

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

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
+
0
-
<?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)

knyttl
Člen | 196
+
0
-

Perfektní, díky!