Tutoriál – Cannot read an undeclared property
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- aciro
- Člen | 1
Zdravím,
mám novou verzi Nette (2.0) a pracuji na localhostu. Snažím se vytvořit si první aplikaci a narazil jsem na problém – pokud je to stupidní dotaz, tak se omlouvám, ale učím se.
Výpis z laděnky:
Cannot read an undeclared property HomepagePresenter::$model.
3: /**
4: * Base class for all application presenters.
5: *
6: * @author John Doe
7: * @package MyApplication
8: */
9: class BasePresenter extends Nette\Application\UI\Presenter
10: {
11: public function beforeRender()
12: {
13: $this->template->taskLists = $this->model->getTaskLists()->order('title ASC');
14: }
15: }
Chyba by měla být v řádku 13. Snažil jsem se najít chybu, ale už nevím jak dále. Ví někdo, čím to je? Děkuji moc za případné rady.
Editoval aciro (6. 3. 2012 15:19)
- Etch
- Člen | 403
No tak ta chyba je celkem dost výmluvná. Přistupuješ k nedefinované proměnné „model“.
class BasePresenter extends Nette\Application\UI\Presenter{
private $model;
public function startup(){
parent::startup()
$this->model = new \JmenoModelu();
}
public function beforeRender(){
$this->template->taskLists = $this->model->getTaskLists()->order('title ASC');
}
}
Popřípadě pokud máš model nastaven v configu, tak si ho vytáhnout z contextu.
EDIT: Sakra koukám, že mi to psaní trvá nějak dlouho. Vždy než tu odpověď sesmolím tak mě někdo předběhne. :D
Editoval Etch (6. 3. 2012 15:48)