injectBase se nezavolá v basePresenteru
- koblamic
- Člen | 6
Mám problém s injectem repository v BasePresenteru:
protected function injectBase(\Models\UserRepository $userRepository) {
$this->$userRepository = $userRepository;
}
Později si v base presenteru hraju se submitnutym formem a potřebuju svoje UserRepository, ale je null, protože se mi ten inject ani nezavolá. V dalších presenterech používám metodu inject (i onoho UserRepository), a vše funguje.
Vycházím z příkladu: https://github.com/…e/quickstart
Na co jsem zapomněl? Jaká závislost mi uniká?
Dík za radu
Nette – 2.0.8
PHP 5.3
- koblamic
- Člen | 6
castamir napsal(a):
Nepřepisuješ si tu metodu v dalších presenterech?
Používám metodu inject v každém presenteru. Jedná se o ono přepisování?
private $couponRepository;
public function inject(\Model\CouponRepository $couponRepository) {
$this->couponRepository = $couponRepository;
}
- koblamic
- Člen | 6
davidm napsal(a):
vsechny inject metody musi byt public, protoze se volaji z presenter factory
Dík. to je ono.
Teď dostávám tuto chybu v injectBase, při přiřazení:
$this->$userRepository = $userRepository;
„Object of class Model\UserRepository could not be converted to
string“
Teď mi teda nedochází proč by měl chtít string. Zase v ostatních
presenterech to frčí.
- japlavaren
- Člen | 404
osobje davam vsetky inject metody ako final, clovek si to potom neprepsie a nepozera pol dna do kodu, preco mu to nefunguje