Inject IStorage Nette 2.2.2

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
mordare
Začátečník | 117
+
0
-

Zdravím je možné že je to triviální ale nedaří se mi rozjet inject IStorage a následné vytvoření Cache.
Zkoušel jsem inject tak jak je napsaný v dokumentaci ale Laděnka mi pak hlásí že Cache potřebuje jako první argument objekt typu IStorage ale dostla NULL.

Můj presenter:

<?php

namespace App\Presenters;

use Nette,
    App\Model,
	Nette\Caching\Cache

;

/**
 * Base presenter for all application presenters.
 */
abstract class BasePresenter extends Nette\Application\UI\Presenter{

	/**
	 * @var Nette\Caching\Cache
	 */
	public $pzCache;

	 /** @var Nette\Caching\IStorage @inject */
    public $storage;

    public function __construct(Nette\Database\context $database,Model\UserManager $userManager){

		$this->pzCache = new Cache($this->storage);
	}
jiri.pudil
Nette Blogger | 1032
+
+3
-

Injecty se totiž volají až na vytvořeném objektu, takže v konstruktoru ještě injectované služby nejsou k dispozici. Můžeš si tu Cache vytvořit v metodě startup.