Wpis z mikrobloga

Jak pisać aplikację, aby łatwo oddzielić ją od frameworka? W service container, jako paczkę, jakoś inaczej?

Na warsztat wrzuciłem stworzenie małego #cms, ale z myślą o łatwości przenoszenia, instalacji lub żeby wiedzieć które pliki powinny znaleźć się na git, zastanawiam się jak to ogarnąć. W efekcie chciałbym osiągnąć np. dodaję do composera framework, swój cms, composer install, konfiguracja i ma działać.

#webdev #webdevhelp #php
  • 5
@vibro_vagins: tak aby wszystko co jest wykonywane w tym cms działo się niezależnie od frameworka, możesz np napisać cały cms jako "base" działający niezależnie od frameworka + dla każdego frameworka jakieś klasy które będą mostami/adapterami
@vibro_vagins: poczytaj o DDD. Ja dopiero w tym zaczynam, ale:

1. Postaraj się zapisać to, co robi Twoja aplikacja (pominąwszy rzeczy typu rejestracja, czy wysyłanie maili) w samodzielnych klasach zawierających dane i logikę

2. Operacje na powyższej domenie przeprowadzaj prostymi serwisami, które wykorzystują tylko pewnego rodzaju abstrakcje (repozytoria na przyklad przedstawiają tylko coś skąd pobierasz i zapisujesz, ale nie interesuje Cie, czy z tyłu jest mysql ,mongo, redis, czy plik)

2.5
@vibro_vagins: poszukaj w necie info o hexagonal architecture i DDD. W prezentacjach Sławomira Sobótki też znajdziesz sporo informacji na ten temat. Na jego blogu nawet jest wrzucony poglądowy projekcik wykorzystujący te techniki. Jest to java co prawda ale kod czyta się łatwo i przyjemnie i fajnie można złapać o co chodzi.