Nette/Enviroment is deprecated
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- adam.olecky
- Člen | 3
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. :)
- adam.olecky
- Člen | 3
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 :]
- adam.olecky
- Člen | 3
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.