Vytvoření továrny s rekurzivním parametrem
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- lovec
- Člen | 13
Zdravím,
chtěl jsem datagrid (https://forum.nette.org/…p-5-3-notorm)
vytvořit pomocí továrny z konfigu.
V konfiguraci mám toto:
<?php
factories:
dataGrid:
class: Component\DataGrid\DataGrid
?>
Což vygeneruje:
<?php
public function createDataGrid()
{
$service = new Component\DataGrid\DataGrid($this->createDataGrid());
return $service;
}
?>
Nerozumím tomu, proč se vložil parametr $this->createDataGrid(), který
to celé zacyklí.
Poradíte co je špatně?
- Honza Marek
- Člen | 1664
naznač té továrně, že má grid dostat v konstruktoru null. odhaduju, že třída datagrid přijímá jako první parametr nepovinně nějakou Control (třeba presenter). To se kvůli autowiringu snaží kontejner někde sehnat a jako jediný vhodný parametr mu přijde znova ten datagrid.