Compiler Extension Nette 2.1 Dev
- Etch
- Člen | 403
Předem se omlouvám, protože vím, že to bude nějaká blbost, kterou jsem přehlédl nebo nenašel na fóru. Dnes jsem na zkoušku zkusil upgrade Nette na 2.1dev a nějak mi přestal fungovat extension, který ještě v 2.0.10 fungoval zcela normálně.
Bootstrap:
$configurator->onCompile[] = function ($configurator, $compiler) {
$compiler->addExtension('models', new FakeExtension);
};
Extension:
class FakeExtension extends \Nette\DI\CompilerExtension{
}
Config:
models:
services:
articles:
class: \Models\Articles
Tohle v 2.0.10 fungovalo ještě tak, že se dalo volat:
$model = $this->context->models->articles;
v 2.1 to vyhodí:
Nette\DI\MissingServiceException
Service 'models' not found.
Nějaké nápady, co by tohle mohlo způsobovat?? Předem děkuji a ještě jednou se omlouvám pokud jsem někde na fóru přehlédl nějakou změnu, která by tohle mohla způsobovat.
Editoval Etch (9. 6. 2013 15:57)
- Etch
- Člen | 403
Tady jde právě o přepis „relativně staré“ aplikace, aby používala inject*. Chtěl jsem to psát už rovnou s 2.1, ale tahle „chybka“ mě trochu zaskočila a nemohl jsem si za boha vzpomenout, jak upravit obslužnou metodu, která vrací modely, aby neupravená část aplikace běžela než to bude přepsáno s pomocí inject* a bude se tedy moci tato obezlička kompletně odstranit. :D
Takže díky moc za nakopnutí.