Call to a member function findAll() on null Homepage

Jack.q
Člen | 54
+
-1
-

Zdravím Vás lidi,
hned na úvod bych se rád zeptal. Netušíte proč na mi neustále vyjíždí hláška Call to a member function findAll() on null, v HomepagePresenter mám pouze tento jednoduchý zápis společně s anotací.

class HomepagePresenter extends BasePresenter{

    /**
     * @autowire
     * @var \App\Model\BlogModel
     */
    protected $blog;

    public function renderDefault(){
        $this->template->posts = $this->blog->findAll();
    }
}
Tyraxor
Člen | 31
+
0
-

Ahoj,
v anotaci musí být @inject a proměná musí být public.
https://doc.nette.org/…dependencies

Jack.q
Člen | 54
+
0
-

Tyraxor napsal(a):

Ahoj,
v anotaci musí být @inject a proměná musí být public.
https://doc.nette.org/…dependencies

Takže anotaci jsem změnil z @var na @inject, ale teď mi to píše tohle:
Property App\Presenters\HomepagePresenter::$blog has no @var annotation.

Ovšem když všude v BasePresenteru a modelu změním anotaci z @var na @inject tak mi to píše o tom, že má být anotace @var a zase když změním anotaci na @var tak mi to napíše to co je v prvním příspěvku

Editoval Jack.q (4. 12. 2017 9:57)

Tyraxor
Člen | 31
+
+1
-

Anotaci @var tam nech, ale tu @autowire přepiš na @inject, ukázka z dokumentace:

class MyService
{
    /** @var \App\AnotherService @inject */
    public $anotherService;
}

Editoval Tyraxor (4. 12. 2017 9:59)

Jack.q
Člen | 54
+
0
-

Tyraxor napsal(a):

Anotaci @var tam nech, ale tu @autowire přepiš na @inject, ukázka z dokumentace:

class MyService
{
    /** @var \App\AnotherService @inject */
    public $anotherService;
}

Ok, děkuji, vyřešeno, problém byl tedy v té anotaci