Zacinam s komponentami – pochopenie logiky
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- cujan
- Člen | 410
Caute snazim sa pochopopit komponenty…cize, vytvaram komponentu, ktora bude nacitavat z DB tabulky data a vykreli ich…ma to byt ToDo list
cize mam subory
TodoControl.php
class ToDoControl extends Control{
public function render(){
$template = $this->template;
$template->setFile(__DIR__ . '/todo.latte');
$template->render();
}
}
a
todo.latte
problem je, ze neviem, ci nacitanie dat mam definovat v TodoControl alebo az priamo v presenteri v ktorom budem component vytvarat?
- thm
- Člen | 147
@CZechBoY Předpokládám, že to chce asi v komponentě.
Nejlepší je předat si službu, která se ti stará o získání dat, konstruktorem komponenty.
class ToDoControl extends Control
{
private $service;
function __construct($service)
{
$this->service = $service;
}
public function render()
{
$template = $this->template;
$template->setFile(__DIR__ . '/todo.latte');
$teplate->todoList = $this->service->getTodoList();
$template->render();
}
}