Vlastní model ve vendoru pro cms
- Miri
- Člen | 117
Ahoj,
snažím se usnadnit si práci a pracovat více modulárně. Mám vlastní
cms a k tomu x aplikací, které využívají stejné nebo podobné modely.
Říkal jsem si, jestli by nestálo za to, udělat si z toho nějaký composer
package. Nejdřív se ale chci zeptat zkušenějších, jestli je vhodné cpát
modelovou vrstvu do vendoru.
Pokud ano, tak mohli byste mi poradit, jak rozchodit tuto modelovou vrstvu
v aplikaci nejlepším způsobem? Dalo by se stále injektovat?
Díky za každou reakci
Míra
- Šaman
- Člen | 2659
Samozřejmě, Nette injecty používá a ty jeho třídy a rozhraní taky
injectuješ (třeba IMailer).
IMHO: Ale spíš, než do vendoru bych to zatím dával někam úplně mimo,
třeba do ‚/libs‘ a uvidíš, jak se ti to osvědčí. Asi si budeš muset
vyřešit spoustu workflow ohledně verzování, zpětné kopatibility
verzí apod.
- Miri
- Člen | 117
Super, to rád slyším a děkuju
Trošku jsem si projížděl google a snažil se pochopit jak to celé funguje, tím myslím composeru. Mám s ním zkušenosti jen jako pomocníka, přes který stahuju to co potřebuju. Nikdy jsem neuploadil.
Nastíním jak jsem to pochopil, myslíš že bys mě mohl opravit?
- Vytvořím vlastní projekt v IDE. Zde vytvořím celý package, tak jak potřebuju. (je vhodné mít balíček jako vlastní projekt?)
- Pushnu projekt např na github.
- zaregistruju ho do packagist
- přes composer stáhnu do svých projektů a autoloader si sám naloaduje moje třídy ?
- injektuju stejně jako z klasického modelu?
Díky
Míra
- Šaman
- Člen | 2659
Ad. injecty: Je jedno, kde se třída nachází, je jen důležité, aby byla v dosahu buď Nettího RobotLoaderu (pokub by byla třeba v tom adresáři /libs), nebo v režii composeru. Pak jsou dostupné odkudkoliv, tedy i pro DI container.
Ad. vytvoření vlastního balíčku: Packagist není nutný, ani GitHub. To jsou jen veřejná úložiště odkud by byl balíček dostupný každému. Lze mít zcela lokální balíčky, nebo v nějakém firemním repozitáři. Ale jak přesně se vytvoří composer balíček, to si vygoogli. Já dělal jen jeden veřejný na packagistu.
- Oli
- Člen | 1215
@Miri koukni na satis. Třeba tady se to celkem řešilo (a vyřešio) https://forum.nette.org/…stavit-satis