Korektne pouzirie vstavanej DI cacheStorage v service

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
whitedeath
Člen | 25
+
0
-

Nette Framework (version 2.0.7 released on 2012–11–28)
PHP5.4
Netbeans 7.2

chcel by som sa spytat, ci je toto korektne pouzitie vstavanej $cacheStorage v Nette?

config.neon

<?php
services:
	database: @Nette\Database\Connection
	textprocessing: Textprocessing(@database, @cacheStorage)
?>

trieda Textprocessing

<?php
/**
 * Constructor
 * @param Nette\Database\Connection $connection
 * @param Nette\Caching\Storages\FileStorage $cacheStorage
 */
public function __construct(Connection $connection, FileStorage $cacheStorage)
{
	$this->connection = $connection;
	$this->cache = new Cache($cacheStorage, 'textprocessing');
}
?>

lebo fungovat mi to zda sa funguje, ja len ci nie je nejaky viac Nette-way sposob ako sa s tymto vysporiadat? Nejde mi o cacheovanie databazy, ale obsahov premennych vramci tej triedy.

Dakujem ze vase postrehy!

Majkl578
Moderator | 1364
+
0
-

Jde o zcela legitimní constructor injection. Akorát bych vytkl závislost na FileStorage, mělo by být IStorage.

V configu stačí napsat jen textprocessing: Textprocessing, parametry se doplní automaticy díky autowiringu.

lebo fungovat mi to zda sa funguje, ja len ci nie je nejaky viac Nette-way sposob ako sa s tymto vysporiadat? Nejde mi o cacheovanie databazy, ale obsahov premennych vramci tej triedy.

A co víc by sis představoval?

whitedeath
Člen | 25
+
0
-

Vdaka za odpoved, pravdupovediac netusim co viac by som si predstavoval, ale vsetko sa da robit vela roznymi sposobmi, tak by som sa rad naucil tie najlepsie.