Z końcem czerwca tego roku pojawiła się długo oczekiwana kolejna wersja Zend Framework oznaczona numerem 3. Od wypuszczenia wersji drugiej minęło około 6 lat i niewątpliwie wielu developerów oczekiwało zmian. Tym bardziej że w tej wersji framework był dość mocno krytykowany, głównie ze względu na jego wydajność, a raczej jej brak. Działał po prostu wolno… Dokumentacja również pozostawiała wiele do życzenia. Słyszałem nawet taką opinię od certyfikowanego developera framework’a Zend’a, że ucząc się do egzaminu wolał samodzielnie analizować kod poszczegółnych komponentów niż polegać na dokumentacji i materiałach dostarczonych w trakcie kursu przygotowawczego do egzaminu.

Stopniowo rozpoczęto prace nad reorganizacją struktury frameworka’a. Postanowiono rozdzielić poszczególne komponenty stawiając na modułowość, dzięki czemu łatwiejsze stało się dołączanie zewnętrznych bibliotek. Nie bez przeoczono zyskującego na popularności Composer’a, stanowi on podstawę instalacji komponentów w wersji 3.

Czym więc charakteryzuje się najnowsza wersja Zend Framework

Oficjalna strona www Zend’a na pierwszym miejscu wymienia znaczne zwiększenie wydajności. Deklaruje 4-kroty wzrost szybkości działania aplikacji działających na wersji PHP 5, a w przypadku PHP 7 nawet większy. Od razu warto tu wspominieć, że całość jest dostosowana do współpracy z PHP 7. W drugą stronę, minimalna wymagana wersja to PHP 5.6. Wyraźnie więc postawiono na rozwój, niekoniecznie wsparcie wsteczne.

Kolejny z punktów deklaruje rozdzielenie poszczególnych komponentów, skupienie się na umożliwieniu ich wielokrotnego użycia, postawiono na Composer’a i PSR-4. Mając na uwadze, że poszczególne moduły są traktowane jako niezależne, można się spodziewać, że prace prowadzone nad ich niezależnym rozwojem, będą skutkowały częstszymi ich aktualizacjami. Zależności pomiędzy nimi zostały zredukowane do minimum. Każdy z komponentów jest utrzymywany jako osobne repozytorium Git, w przeciwieństwie do v2, gdzie stanowiły one całość.

Mając  na uwadze dwa powyższe akapity, warto zwrócić uwagę, że chcąc skorzystać z wersji 3, musimy zadbać o odpowiedni hosting dla naszej aplikacji. Musi on obsługiwać wersje PHP >= 5.6 oraz pozwolić na dostęp przez SSH, jeśli będziemy chcieli korzystać z funkcjonalności Composer’a. Myślę jednak, że nie jest to duży problem, pod warunkiem wyboru odpowiedniego dostawcy usług serwerowych.

Zajęto się również dokumentacją. Nie ma co się tu zbytnio rozpisywać, najlepiej zapoznać się z efektami tych prac na oficjalnej stronie dokumentacji framework’a.

Zastosowano również PSR-7, (HTTP Messages Interface), co zaskutkowało udostępnieniem microframeworka nazwanego Expressive, działającego jako middleware. Oferuje on minimalną/podstawową funkcjonalność i jest świetny do niezbyt rozbudowanych aplikacji, czy też osób zaczynających swoją przygodę z tym framework’iem.

Z innych zmian, można by tu wspomnieć o reorganizacji samej struktury. Zmiany nie są jednak jakieś znaczne i bardzo szybko można się do nich dostosować.

Niewątpliwie warto zapoznać się z pełną dokumentacją dotyczącą migracji z wersji v2 do v3.  Opisano dokładnie niezbędne  kroki jakie należy podjąć, aby dostosować aplikację do najnowszej werji. Podzielono wszystko na poszczególne komponenty – co za tym idzie, musimy wykonać jedynie te zmiany, które są w naszej aplikacji niezbędne. Warto zwrócić uwagę na instalację nowych komponentów – najlepiej jeśli wykorzystujemy do tego Composer’a, automatycznie mamy zapewnioną zgodność ze standardem PSR-4 i reguł autoloading. O ich samodzielnej aktualizacji należy pamiętać, gdy nie korzystamy z Composer’a.