Nette projekt v ionCube – chyba v nasazení projektu na produkci
- nyccoss
- Člen | 18
Ahoj všem.
Chtěl bych se zeptat, zdali máte někdo zkušenosti s prekladem zdrojovych kódů pomocí ionCube do nečitelné podoby a spuštění projektu. Na serveru jsem nainstaloval neonCube loader 5.3 ktery vyžaduje. Zkompiloval jsem to pomoci online nastroje ionCube a pokusil se to rozběhnout.
Aplikace se rozběhla a jakmile začala vytvářet instance tříd
z config.neon – services, začla řvát laděnka chyby
Class model\UserDAO used in service 'userDAO' has not been found or is not instantiable
přitom pokud to není preložený tím Encoderem, tak to funguje. Nemáte s tím někdo zkušenosti?
Předem díky za odpovědi.
- nyccoss
- Člen | 18
Zkoumal jsem to a celý problém je zjevně v robot loaderu. Když jsou třídy zahashované pres IonCube, robot loader je samozřejmě nevidí. Lze v nette použít nějaký jiný loader? ideálně ten, který hledá třídy tak, že souhlasí namespace a filesystémová cesta.
Jen netuším jak na to…
- Majkl578
- Moderator | 1364
nyccoss napsal(a):
Lze v nette použít nějaký jiný loader?
Jistě, Nette samotné RobotLoader nevyužívá. Většinou ho lidé využívají ve své aplikaci pro načítání věcí v app/, kvůli pohodlí.
ideálně ten, který hledá třídy tak, že souhlasí namespace a filesystémová cesta.
Tomu se říká PSR-0 loader a existuje jich kupa, třeba od Composeru nebo Doctrine.
- llook
- Člen | 407
Myslím, že autoloading nebude jediný problém. Problém bude také v tom,
že prostě neexistuje třída model\UserDAO
, IonCube ji
přejmenovalo. Pochybuju, že si poradí s instanciací třídy z řetězce
(new $className()
).
Buďto nepoužívat IonCube, nebo nepoužívat Nette. A nebo strávit dva dny tím, že se to budeš snažit vyřešit a možná se to povede, možná ne. Je otázka, jestli to stojí za to.
Našel jsem, jak to někdo řešil se Symfony – jednak přepsal autoloader a jednak některé části aplikace nechal nezakódované. Ale nevím, jestli to nějak půjde aplikovat na Nette (možná už ani na SF, je to pár let staré) a taky pak ta aplikace bude zakódovaná jen tak napůl: http://forum.symfony-project.org/viewtopic.php?…