ExtensionsExtensions pro Configurator

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Vojtěch Dobeš
Gold Partner | 1316
+
0
-

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
+
0
-

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
+
0
-

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‘.

pepakriz
Člen | 246
+
0
-
Vojtěch Dobeš
Gold Partner | 1316
+
0
-

@pepakriz That's great, thanks!