Nette/Enviroment is deprecated

adam.olecky
Člen | 3
+
0
-

Zdravím,
mám zde problém, který nevím jak řešit snad mi pomůžete:

abstract class Entity extends Object{

	static private $bindableMethods = [];
	static private $columns = [];
	static private $metadata = [];

	private function getClassMetadata() {
		$calledClass = get_called_class();
		if (!isset(self::$metadata[$calledClass])) {
			self::$metadata[$calledClass] = Environment::getContext()->getByType(EntityManager::class)->getClassMetadata($calledClass);

		}
		return self::$metadata[$calledClass];
	}

...

V tomto kódu používám třídu Enviroment. Ta je ale deprecated a bude z Nette v další verzi vyhozena. Zkoušel jsem použití obejít, ale na nic jsem nepřišel. Budu vděčný za jakýkoli nápad. :)

CZechBoY
Člen | 3608
+
+2
-

Asi nejlepsi by bylo refaktorovat to a EntityManager by ty entite rovnou v konstruktoru rekl co ma za metadata. Pripadne by mohl jeste predat sebe kdyz uz tu entitu vytvari.

adam.olecky
Člen | 3
+
0
-

CZechBoY napsal(a):

Asi nejlepsi by bylo refaktorovat to a EntityManager by ty entite rovnou v konstruktoru rekl co ma za metadata. Pripadne by mohl jeste predat sebe kdyz uz tu entitu vytvari.

Jo, asi to proste budu muset predelat a zadna cesta okolo nevede :]

F.Vesely
Člen | 368
+
0
-

Jen tak pro zajimavost, proc Entita potrebuje vedet sva metadata?

adam.olecky
Člen | 3
+
0
-

F.Vesely napsal(a):

Jen tak pro zajimavost, proc Entita potrebuje vedet sva metadata?

Tipl bych ze to souvisis s pouzitim Doctriny. Je to kod ke kteremu jsem prisel.

F.Vesely
Člen | 368
+
0
-

Delam prave s Doctrine uz nejaky ten rok a tohle vidim poprve, tak me zajimal use case.