Chyba – Class App\RouterFactory used in service ‚routeFactory‘ has not been found or is not instantiable
- wb2009
- Člen | 125
Zdravím dnes celé odpoledne se snažím přijít na to, proč mi na hostingu nejde rozchodit jedna aplikace. Vezmu to od začátku, tato chyba mi na localhostu nevyskakuje, což nneí nic neobyvyklého, nicméně je potřeba říct, že u hostingu blueboard mám již více aplikací a s hostingem jsem spokojen. Co se týče požadavků Nette, tak ty hosting splňuje, nebo by alespoň měl.
Samozřejmě vím co mi chyba řiká, ale za boha nevím co je špatně, no dávám ukázku zdrojáků:
php:
date.timezone: Europe/Prague
nette:
application:
errorPresenter: Error
mapping:
*: App\*Module\Presenters\*Presenter
session:
expiration: 14 days
services:
routeFactory: App\RouterFactory
router: @routeFactory::createRouter
<?php
namespace App;
use Nette\Application\Routers\RouteList,
Nette\Application\Routers\Route;
/**
* Router factory.
*/
class RouterFactory {
/**
* @return \Nette\Application\IRouter
*/
public function createRouter() {
$router = new RouteList();
$router[] = new Route('<presenter>/<action>[/<id>]', 'Page:default');
return $router;
}
}
co se týče dalších zdrojáků, tak je to asi zbytečný sem něco dávat, protože aplikace je zatím jen easy webová stránka která nepřistupuje, do žádné databáze a tělo aplikace je převzato ze sandboxu.
dle mého unaveného oka, je to OK a aplikace by v jmeném prostorů
v App\RouteFactory mít měla.
Jediné co mne napadá, je to, že by nějak robotloader tu třídu
nenaincludoval.
Jinak Server PHP 5.3.X
Nette 2.2.1
P.S. Temp byl také již xkrát mazán…
- jiri.pudil
- Nette Blogger | 1032
Jediné co mne napadá, je to, že by nějak robotloader tu třídu nenaincludoval.
To můžeš snadno zjistit
- David Kudera
- Člen | 455
No tady vidím, že klasický sandbox pořád používá robot loader na app složku. Vlastně po všech těch příspěvcích, kde se loadery probírali, hooooodně pochybuji o tom, že by se přestal používat robot loader ;-)
- frosty22
- Člen | 373
Pánečku, docela náhoda. Asi půlhodiny řeším stejný problém, na lokálu vše funguje, ale na hostingu stejná chyba. Zvláštní je, že doposud to fungovalo, pouze jsem chtěl nyní aktualizovat projekt a objevila se tahle chyba. Jinak též se jedná o Blueboard hosting a PHP 5.3.29 … zatím tedy tápu, je jasné že RobotLoader nic neindexuje, v cachi je ten soubor „prázdný“ resp. má pouze definovanou hlavičku s expirací, ale pole tříd je prázdné.
- David Kudera
- Člen | 455
tak to je zajímavý.. nemůže to dělat třeba nějaký accelerator? Jen tak střílím.. Nette jsem měl na hostingu jen jednou, tuším, že to byla endora.. Jenže to je tak 4 roky zpět a tam s tím problém byl. To je ale dost dlouhá doba a nic rozumnýho mě osobně jinak nenapadá :-(
Možná bych ze srandy zkusil jen tak composer, jestli ten to najde.. To je ale jen další střelba
Edit: to s tím composerem neberte teda moc vážně.. je to hosting, takže se to tam nahraje už s vygenerovanýma classmap (nepočítám tu $loader->add() fíčuru)…
Editoval David Kudera (14. 9. 2014 23:05)
- frosty22
- Člen | 373
Řekl bych že je to problém u nich, možná nějaká špatná knihovna, jelikož teď jim zase spadla databáze, takže to vypadá, že tam možná něco dělají. Já též tedy zkušenost hostingy příliš nemám, tohle jsem pouze nahrával jednomu klientovi a před cca 2 dny vše ok, a dnes tato nesmyslná chyba.