Class ‚Nette\Latte\Engine‘ not found po aktualizaci nette
- scientific
- Člen | 94
Ahoj všem,
aktualizoval jsem Nette komponenty v composeru, a upravil několik dalších blbinek jako strukturu konfiguračního souboru a tak, aby mi projekt fungoval na PHP 7.2.
Problém je v tom, že když sem se pokusil odeslat jeden formulář, tak na mě skočil nástroj Tracy s chybovým hlášením: Class ‚Nette\Latte\Engine‘ not found search►
Usuzuji, že za to může právě aktualizace, že se ta třída nějak přejmenovala nebo tak něco.
Věděl byste prosím někdo, co s tím?
Děkuji moc za rady a tipy.
Ukázka kodu, kde je to použito:
$latte = new \Nette\Latte\Engine;
1421: $latte->setTempDirectory(__DIR__."/../../temp/");
1422:
1423: $latte->addFilter("period", BaseManager::getFilterPeriod());
1424: $latte->addFilter("money", BaseManager::getFilterMoney());
Editoval scientific (21. 4. 2020 15:30)
- Petr Parolek
- Člen | 455
Ahoj, nermáme křišťálovou kouli, kde kod voláš. Ale vím, jedno, třída \Nette\Latte… neexistuje, jen \Latte\…
Editoval ppar (21. 4. 2020 15:33)
- jiri.pudil
- Nette Blogger | 1032
Ahoj, jak moc jsi aktualizoval? Latte je vyčleněné do samostatného namespacu už hoooodně dlouho. Doporučuji upgradovat postupně a řídit se migračními příručkami.
- scientific
- Člen | 94
@ppar:
Kód se volá ve skriptu z app/models/. Před aktualizací komponent v composer.json to na PHP 5 fungovalo.
Umím číst, vím, že neexistuje, ale co s tím? Přece vývojář nette jen tak nějakou třídu nesmazal, musel ji přejmenovat nebo?
@jiripudil:
No většinu komponent o jednu verzi a co dál failovalo pro rezervaci PHP 7 názvy třídy „Object“, kterou nette dříve používalo ještě nějaké komponenty jako caching, utils ještě jednou ještě o jednu verzi, aby to nefailovalo, dokud z těch komponent ten název třídy Object nebyl přejmenován na LegacyObject.
Ty namuály si přečtu, jestli sem někde něco nezapomněl, díky za ně.
Editoval scientific (21. 4. 2020 16:07)
- MajklNajt
- Člen | 502
scientific napsal(a):
@ppar:
Kód se volá ve skriptu z app/models/. Před aktualizací komponent v composer.json to na PHP 5 fungovalo.
Umím číst, vím, že neexistuje, ale co s tím? Přece vývojář nette jen tak nějakou třídu nesmazal, musel ji přejmenovat nebo?
@jiripudil:
No většinu komponent o jednu verzi a co dál failovalo pro rezervaci PHP 7 názvy třídy „Object“, kterou nette dříve používalo ještě nějaké komponenty jako caching, utils ještě jednou ještě o jednu verzi, aby to nefailovalo, dokud z těch komponent ten název třídy Object nebyl přejmenován na LegacyObject.
Ty namuály si přečtu, jestli sem někde něco nezapomněl, díky za ně.
tu to máš čierne na bielom
- scientific
- Člen | 94
Nahradil jsem tedy toto:
$latte = new \Nette\Latte\Engine;
za toto:
$latte = new Latte\Engine;
stejně to nefungovalo, tak jsem to upravil za toto:
$latte = new \Latte\Engine;
Škoda, že jsem o existenci tohoto migračního manuálu nevěděl dříve.
Pomohlo to, děkuji všem.