Class Model not found v ACL tutorialu
- aGr
- Člen | 45
Zdravím,
snažím sepsat administraci pro svůj web a chtěl jsem začít návodem zde . Tutoriál je na starší verzi Nette, což nejspíše bude onen problém. V návodu jsem došel k místu, kde se člověk má poprvé přihlásit. Hlavní stránka administrace běží v pořádku, pokud se však snažím přihlásit dostávám chybu Class ‚Model‘ not found, což je pro mě nicneříkající informace. Laděnka dále ukazuje, že chyba nastala v NetteConfigurator na řádce:
$container->addService('model', function($container) {
$class = 'Model'; $service = new $class($container->getService('database'));
return $service;
}, NULL);
Raději napíšu co jsem vynechal/upravil (z důvodů jiné verze), neboť problém velmi pravděpodobně bude zde:
- Níže uvedený kód do configu jsem nevložil, neboť v neonu se to
určitě dělá jinak a bohužel jsem na to nepřišel. Čekal jsem však něco
ve stylu
class Authorizator not found
nebo něco takového, ale nic takového nepřišlo, tak jsem pokračoval.
service.Nette-Security-IAuthorizator = AclProj\Security\Acl
service.Nette-Security-IAuthenticator = AclProj\Security\Authenticator
- U třídy LoginForm jsem deklaraci třídy a
use
přepsal z:
namespace AdminModule\Forms;
use Nette\Application\AppForm,
Nette\Forms\Form,
Nette\Environment,
Nette\Security\AuthenticationException;
class LoginForm extends AppForm
na
namespace AdminModule\Forms;
use Nette\Application\UI\Form,
Nette\Environment,
Nette\Security\AuthenticationException;
class LoginForm extends Form
Děkuji všem za pomoc!
- Filip Procházka
- Moderator | 4668
Chyba Class ‚Model‘ not found
může mít několik
příčin.
- třída neexistuje
- třída je v jiném namespace
- máš špatně nastavený robotLoader (smaž cache, zkontroluje jestli je třída v jedné ze složek, které indexuje a zkontroluj jaké indexuje – je to v configu)
v neonu se konfigurace píše jenom trošku jinak. Znáš Yaml?
services:
authorizator:
class: AclProj\Security\Acl
authenticator:
class: AclProj\Security\Authenticator
- Filip Procházka
- Moderator | 4668
No mně šlo o to, ti to k něčemu přirovnat, protože neon je takový chytřejší yaml. Takže pokud neznáš, tak není potřeba studovat, stačí tohle.