Wszystkie wpisy

System zdarzeń jest jednym z fajniejszych wzorców projektowych. Nie dość, że jest on zgodny z SOLID (bo rozszerzamy), to dodatkowo jest on łatwo testowalny. Niestety, czasami możemy przeszarżować, zwłaszcza, jeżeli chodzi o nasłuchiwanie zdarzeń, które oferuje nam Doctrine 2. Poznajcie kilka wskazówek, dzięki którym (mam nadzieję) pozbędziecie się potencjalnych problemów w przyszłości.

Praca programisty to nie tylko programowanie. To również zorganizowana praca zespołowa, która (podobnie jak u mrówek czy pszczół) polega na tworzeniu mniejszych elementów, które w jakiś sposób trzeba złożyć w większą całość. Jedną z metodyk organizacji pracy na projekcie jest GitFlow, czyli bardzo popularny schemat „branchowania”, o którym dziś coś niecoś opowiem 🙂

Doctrine, jako bardzo zaawansowane narzędzie, posiada bardzo dużo mechanizmów, które należałoby poznać zarówno od strony teoretycznej jak i w boju. Okazuje się, że niektóre z tych funkcjonalności – pomimo, że służą do podobnych celów – mogą się wzajemnie wykluczać. Niestety, niezbyt wiele osób wie, że właśnie tak jest z funkcjami Doctrine Schema oraz Migration. Dlatego właśnie powstał ten wpis.

Tworzenie aplikacji biznesowych z grubsza polega na definiowaniu procesów, które mają za zadanie w określony sposób przetwarzać zapisane w systemie dane. Część z tych danych posiada swój stan (jeden z wielu), który zmienia sposób interpretacji zawartych wewnątrz informacji. Tematem dzisiejszego wpisu jest więc Maszyna Stanów – wzorzec, który upraszcza dużo w poruszonej wyżej kwestii.

Większość świeżych programistów, którzy pytają tych starszych o porady, słyszą: „Ucz się Symfony, Doctrine i pisz testy”. A młodzi przyjmują to za świętość i uczą się. Znają podstawowe pojęcia, po czym wchodzą na projekt, napiszą endpoint dla dużego zestawu danych i… całość wykonuje się w 13 sekund. Ta historia, choć nieco przeze mnie ufarbowana, wydarzyła się całkiem niedawno. I z chęcią podzielę się z Wami kilkoma szczegółami oraz wnioskami z tej sprawy 🙂