ExtensionsExtensions pro Configurator
- Vojtěch Dobeš
- Gold Partner | 1316
Pro pohodlí vlastní lenosti jsem si připravil dvě rozšíření pro konfigurátor, která usnadňují registraci dalších rozšíření – funguje od verze Nette 2.0.4
Extensions List
Po registraci v bootstrap.php
umožňuje v konfiguračním
souboru provádět registraci dalších rozšíření. Např.:
extensions:
dibi: DibiNetteExtension
redis: Kdyby\Extension\Redis\DI\RedisExtension
ComposerExtension
Po registraci v bootstrap.php
automaticky zaregistruje všechna
rozšíření stažená pomocí Composeru. Umožňuje nastavovat, pod jakými
názvy se rozšíření zaregistrují.
ComposerExtension
pochopitelně může automaticky zaregistrovat
ExtensionsList
, takže stačí, aby v bootstrapu bylo
zaregistrované druhé, a první lze pak použít pro doregistrování
rozšíření, která skrze Composer přístupná nejsou.
Ještě mě čeká pár doladění – hl. výchozí aliasy.
Editoval vojtech.dobes (1. 8. 2012 19:10)
- juzna.cz
- Člen | 248
Ja se snazim o neco podobneho, ale univerzalnejsiho: nette/addon-installer (+ forum).
Pomoci Composeru je tak mozne nejen registrovat CompilerExtensions, ale treba jednoduse pridavat inicializacni skripty nebo extension metody. A dalsi…
Nespojime sily?
- pepakriz
- Člen | 246
Mám takový pocit, že u přidaných extensions do extension listu se
neprovádí volání loadConfiguration()
. Tento patch (https://github.com/…db9aad4001e2)
mě přijde nedostatečný – foreach neprojede nově přidané extensions.
Přepsal jsem si ho do následující podoby:
array_walk($this->extensions, function($extension) {
$extension->loadConfiguration();
});
array_walk
bere v úvahu i změny ‚za chodu‘.