Template a soubor přímo v konstruktoru
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Honza Kuchař
- Člen | 1662
Ahoj, jak jsem si všimnul, tak se v Nette objevil volitelný parametr Template($file). Když už je v template, nepřidat ho i do Control.php:74 createTemplate(). Úprava vypadá následovně.
/**
* @param string template file path
* @return ITemplate
*/
protected function createTemplate($file = NULL)
{
$template = new Template($file);
// ... Dále je to stejné
}
- Honza Kuchař
- Člen | 1662
Jenom jsem si všiml jedné nepříjemnosti. Pokud má někdo přepsanou metodu createTemplate, tak mu to bude vyhazovat warning:
Strict Standards: Declaration of DataGrid::createTemplate() should be compatible with that of Control::createTemplate() in E:\00_Data\00_Vyvoj\GRIFART\source\PHP\app\components\DataGrid\DataGrid.php on line 40
Tzn. byl by to BC break.
Použít func_get_args();
?
// EDIT: Texy mě nepochopilo. :(
Editoval honzakuchar (4. 10. 2009 10:44)
- David Grudl
- Nette Core | 8218
Tohle je lépe srozumitelné:
$template = $this->createTemplate()->setFile(...);