Pár otázek k tvorbě frameworku
- Ripper
- Člen | 56
Dobrý den,
vzhledem k prohlubování znalostí Nette jsem se rozhodl, že si napíši menší framework založený na Nette, neboli obdobu Flame nebo Nella.
Potřeboval bych ale odpovědět na pár otázek, které mi nejsou jasné –
- Jak je to se závislostmi? Například vadí něčemu, když je framework závislý na extensions třetí strany? Například kdybych chtěl použít Kdyby\Translation. Nebo už se to řeší v rámci nějakého CMS založeného na frameworku.
- Jak využít configurační soubory .neon, mohu si je libovolně předávat do frameworku a dle nastavení měnit jeho chování? Jak ho mohu případně vhodným způsobem dostat například do presenteru.
Určitě mě ještě něco napadne, zatím děkuji za odpovědi.
- Filip Procházka
- Moderator | 4668
Z hlavy si vzpomenu na tyhle (podle mě relevantní) zdroje:
- Píšeme rozšíření (compileru) pro Nette Framework
- Rozšíření pro DI kontejner
- Dependency Injection v Nette 2.1 prakticky
Raději než framework piš rozšíření. Já taky dřív psal celé Kdyby do jednoho repozitáře a ze spousty důvodů se to ukázalo jako veliká chyba.
Vyber si problém který chceš vyřešit, napiš na to rozšíření do Nette a to publikuj (nebo si ho taky můžeš nechat jen pro sebe, záleží na tobě). Ale každé takové rozšíření by mělo řešit jeden úkol. Například integrace Doctrine, překlady, lepší konzole, lepší eventy, …
A na závislosti na rozšířeních třetích stran není vůbec nic špatného. Jen si musíš rozmyslet kterým budeš důvěřovat. Já se třeba Kdyby snažím držet maximálně kompatibilní a občas i opravuju BC Breaky co se objeví v Nette, bez toho aby to uživatele ovlivnilo. Takže za mně určitě na Kdyby klidně závislý buď :)
- Lopo
- Člen | 277
ja osobne mam sice tiez Lohini FW … ale v tom sa uz snazim drzat len
minimalisticke vylepsenia ktore by sa samostatne bud vobec nedali robit alebo
len hodne tazko …
Lohini/CF (components&functions) mam sice v kope a teraz riesim automaticke
splitovanie pomocou Lohini-bot, ale to je len docasne, nez dorobim refactor bota
… potom to tiez porozdelujem a budem sa snazit drzat ako samostatne
extensie
zistil som totiz ze v podstate v ziadnom projekte netreba cely komplet balik,
ale staci len par veci … tak naco to tam mat zbytocne ? len by to zvacsovalo
celkovu velkost a neprehladnost appky …