Ako v Extension pri vytvarani factory predam parametre?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- duskohu
- Člen | 778
Caute neviete mi niekto poradit ako ked vytvaram factory v Extension predam parametre? Potrebujem zadefinovat tieto parametre ($columns, $defaultColumn, $defaultSort), len neviem ako to zapisat.
Extension
public function loadConfiguration()
{
$builder = $this->getContainerBuilder();
$builder->addDefinition($this->prefix('sortingControl'))
->setImplement('\NasExt\Controls\ISortingControlFactory');
// ? $columns, $defaultColumn, $defaultSort
}
ISortingControlFactory
interface ISortingControlFactory
{
/**
* @param array $columns list of urlColumnName => originalColumnName
* @param string $defaultColumn
* @param string $defaultSort
* @return \NasExt\Controls\SortingControl
*/
public function create(array $columns, $defaultColumn, $defaultSort);
}
- David Matějka
- Moderator | 6445
v extension neni nutno vyjmenovavat ty parametry, co jsou v interface, staci uvest, kam je predat – tedy argumenty.
->setArguments(array(new Nette\PhpGenerator\PhpLiteral('$columns'), ...));
pokud mas nette 2.1, je nutno uvest i class..