Kategoria - Zend Framework

Patrząc na fora w Internecie oraz zapytania programistów, mam wrażenie, że obsługa zapytań AJAXowych oraz zwracanie odpowiedzi w formacie JSON w Zend Framework 2 nie jest oczywista. Poniżej postaram się przybliżyć ten temat. 5 lat temu pisałem o tym temacie w kontekście Zend Framework 1. Dzisiaj, kilka miesięcy po premierze ZF2, nadszedł czas na odświeżenie tematu.

Zend Framework 2 (od niedawna dostępny w wersji stabilnej) wśród licznych nowości przyniósł jedną, która bardzo mi się podoba i zawsze mi jej brakowało. Chodzi o wbudowaną obsługę skryptów konsolowych. Czyli poleceń w aplikacji, które z poziomu konsoli można wywoływać. Mogą to być akcje odpalane z crona, zarządzanie aplikacją, włączanie trybu maintenance, sprawdzenie stanu system czy cokolwiek jest potrzebne. Całość jest bardzo łatwa do skonfigurowania, a uruchomienie sprowadza się do wykonania przez php głównego skryptu index.php (chociaż ja wolę utworzyć do tego dodatkowy skrypt).

PHP doczekał się kolejnego elementu, który powoduje, że korzystanie z niego i budowanie profesjonalnych aplikacji jest przyjemniejsze. Mam na myśli Composer – system zarządzania zależnościami w aplikacji PHP. Ułatwia on instalowanie i zarządzanie wersjami bibliotek wykorzystywanych przy budowaniu oprogramowania. W językach takich jak Node.js czy Ruby podobne programy są już od jakiegoś czasu (odpowiednio npm i bundler). I wg autorów strony Composer jest wzorowany właśnie na tych dwóch managerach pakietów.

Architektura dostępu do danych REST staje się coraz bardziej popularna w Internecie. Coraz częściej trafiam na serwisy działające w ten sposób, coraz więcej frameworków obsługuje ten wzorzec. W Internecie dużo już napisano na temat samego sposobu implementacji, ale w skrócie chodzi w głównym stopniu o sposobie dostępu dodanych przez protokół HTTP wykorzystując 4 typy (metody) zapytań i odpowiednie formatowanie adresów URI. Zazwyczaj standardowe serwisy korzystają z zapytań GET i POST. REST proponuje wykorzystanie też PUT i DELETE (HTTP definiuje jeszcze kilka kolejnych, jeszcze rzadziej wykorzystywanych).

Zend Framework 2 jest już w wersji beta 3 i wielkimi krokami zbliża się faza RC i w końcu oficjalny release. Mam okazję pracować w tym frameworku przy kilku projektach i poznawać mniejsze i większe nowości, które nowe wydanie oferuje programistom. Jedną z tych mniejszych, ale bardzo ciekawych zmian jest wprowadzenie nowego typu routera adresów […]

Na co dzień pracuję przy tworzeniu i rozwijaniu aplikacji webowych działających w oparciu o przeglądarkę internetową. Programuję przede wszystkim w języku PHP z wykorzystaniem Zend Framework, ponieważ to znacznie przyspiesza pisanie często powtarzanych elementów i czynności, które są po prostu od razu gotowe do użycia w postaci odpowiednich klas. Do korzystania z akurat tego frameworka w porównaniu do innych przekonuje mnie głównie to, że jest ciągle aktywnie rozwijany oraz że stoi za nim firma Zend Technologies, czyli ta sama grupa osób, która rozwija PHP.

Na codzień pracuję w Zend Framework. Praca jest bardzo przyjemna, framework jest fajnie napisany, obiektowo, elastycznie (wiele klas można rozszerzyć, jest wiele miejsc, w których domyślne klasy są gotowe do uruchomienia naszego kodu, itp.). Ale ma też wiele wad i braków, które często są rozwiązane w innych frameworkach. Twórcy ZF wiedzą o wielu z nich […]

Podobny wpis dla Zend Framework 2 można znaleźć tutaj (13 maja 2013). Zacząłem niedawno nowy projekt. Kolejny oparty o Zend Framework, a tym razem w znacznym stopniu wykorzystujący tzw. AJAX. Jednak zamiast zwracać XML wolę dane dostawać jako JSON. Jak to robię, wykorzystując dobrodziejstwa ZF? Pokażę na przykładzie akcji logowania. Akcja logowania nie generuje u […]

Kończę pierwszy projekt wykorzystujący Zend Framework. Ma swoje wady, ale ma bardzo dużo zalet. Tworzony przez gości od samego PHP – to już brzmi kusząco. No i nie zawiodłem się. Teraz będę zaczynał drugi projekt z tą biblioteką. Chciałbym jednak trochę usystematyzować swoją widzę o frameworku, a nie opierać się tylko na własnych próbach i […]