nefungujuca @inject anotacia
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- MKI-Miro
- Člen | 279
Ahojte
Mam takyto model
abstract class Repository extends Nette\Object {
/**
* @inject
* @var \Nette\Database\Context */
protected $database;
public function __construct() {
}
protected function getTable() {
preg_match('#(\w+)Repository$#', get_class($this), $m);
return $this->database->table(lcfirst($m[1]));
}
Pise mi to chybu Call to a member function table() on a non-object
Co znamena ze premena database sa nenaplnila
Robim nieco zle ?
Pripadne ak treba nieco doplnit dajte vediet
dakujem
- Jiří Nápravník
- Člen | 710
@inject funguje jen na public atributy, pokud chces zapisovat do protected, tak musis vyuzit Kdyby\Autowired
- David Matějka
- Moderator | 6445
a @inject anotace jsou defaultne zapnute jen na presenterech. v modelech a jinych sluzbach pouzivej (pokud mozno) konstruktor injection