Dependency injection container pro Nette

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
dundee
Člen | 23
+
0
-

Ahoj,
inspirován pro změnu přednáškou Miška Hevery z Googlu jsem taky spíchl DI container:

https://github.com/…y/tree/nette

Dokumentace (zatím jen EN):
http://diphy.org/…installation

Ukázková aplikace používající PresenterFactory:
http://diphy.org/diphyorg.zip

Rozdělil jsem to na několik vrstev:

  1. Samotný kontejner na služby. Vložit, vyndat.
  2. Jednoduchý service builder, který umí autowiring (když služba závisí na jiné službě, tak jí ji předá) a dá se konfigurovat pomocí PHP pole.
  3. Pokročilý builder, který umí (pomocí RobotLoaderu) najít implementace rozhraní. Tzn. řeknu builderu třeba getService(‚NecoInterface‘) a on dohledá všechny třídy, které implementují NecoInterface a pokud najde právě jednu, tak ji vrátí.
Filip Procházka
Moderator | 4668
+
0
-

Nette\Debug FATAL ERROR: thrown DirectoryNotFoundException: Directory ‚/home/diphy/diphyorg/app/../log‘ is not found or is not directory. while processing ReflectionException: Class DiphyOrg\NetteInstallationPresenter does not exist

:-)

dundee
Člen | 23
+
0
-

HosipLan napsal(a):

Nette\Debug FATAL ERROR: thrown DirectoryNotFoundException: Directory ‚/home/diphy/diphyorg/app/../log‘ is not found or is not directory. while processing ReflectionException: Class DiphyOrg\NetteInstallationPresenter does not exist

:-)

Jak jsi se k té chybě dostal? Proklikal jsem celý web a nic. Dík

Filip Procházka
Moderator | 4668
+
0
-

na tom odkazu s živou ukázkou, už jsi to evidentně opravil a je tam error presenter.