Frameworki PHP: przegląd pięciu najpopularniejszych narzędzi dla programistów WWW
W niniejszym artykule poruszymy newralgiczny dla wielu temat wyboru frameworka PHP. Często stajemy przed takim zadaniem, kiedy rozpoczynamy tworzenie nowego projektu sieciowego. My dziś chcemy pokazać, na który framework się zdecydować w zależności od tego, jakie wymagania stawia przed nami projekt.
Zanim zadamy sobie pytanie o rodzaj frameworka, powinniśmy się zapytać, czy potrzebujemy w ogóle tego typu rozwiązania. W 90% przypadków odpowiedź będzie twierdząca ze względu na to, że frameworki po prostu automatycznie i w sposób sprawdzony rozwiązują wiele powtarzalnych problemów systemowych (np. kwestie wydajności, walidacji, obsługi baz danych czy bezpieczeństwa), mają przeważnie silne wsparcie skupionych wokół nich społeczności, ich błędy są w miarę systematycznie naprawiane, a one same ciągle ewoluują.
Natomiast te 10% przypadków dotyczy programistów, którzy na ogół są pasjonatami i mogą poświęcić dużo czasu na optymalizowanie oraz implementację autorskiego frameworka. Pamiętajmy jednak, że w rzeczywistości biznesowej taki wewnętrzny framework nie za bardzo się sprawdza, choćby ze względu na brak wsparcia społeczności i trudności w stałym utrzymywaniu.
1. Zend Framework
Zend Framework, zorientowany obiektowo, udostępniany na licencji Open Source jest dziełem firmy Zend Technologies, odpowiedzialnej m.in. za rozwój PHP, co stanowi również gwarancję dalszego rozwoju i wsparcia.
Obsługuje on wzorzec projektowy MVC (Model-Widok-Kontroler) i składa się z ponad 50 modułów podzielonych według kategorii funkcjonalnych, np. moduły odpowiedzialne za obsługę baz danych, Web services, wsparcie RAD (Rapid Application Development), czyli jest po prostu zbiorem luźno połączonych bibliotek, które można używać w dowolnych konfiguracjach i dołączać do istniejących aplikacji bez konieczności inicjowania silnika platformy. Jest to niewątpliwa zaleta, gdyż dodawane komponenty nie powodują ryzyka konfliktów.
Aby jednak praca z frameworkiem była korzystna dla programisty, oprócz poznania dostępnych modułów, powinien on dobrze znać wzorce projektowe i mechanizmy obiektowe PHP, w czym również pomocna może okazać się szeroka dokumentacja oraz duża społeczność aktywnych użytkowników. Zend Framework jest wymagającym narzędziem dla doświadczonych deweloperów, ale jeśli już się je pozna, potrafi przynieść bardzo wiele korzyści.
Aktualnie na SourceForge i Google Code znajduje się w sumie około 400 projektów bazujących na tej platformie i do tej pory została ona pobrana ponad 10 milionów razy
Zalety: elastyczność, wsparcie społeczności, zapewniony rozwój, bardzo dobra dokumentacja
Wady: stopień komplikacji, wymaga dużo czasu do opanowania
2. CakePHP
Głównym zadaniem, które postawili sobie twórcy kolejnego frameworka (opartego na otwartej licencji X11 i inspirowanego przez Ruby on Rails), jest szybkie tworzenie aplikacji webowych. Proces ten jest wspierany przez wymuszenie konwencji nazewniczych, organizacji kodu i projektu.
CakePHP ma również zintegrowaną obsługę CRUD, wbudowane listy kontroli dostępu, scaffolding, wbudowaną kontrolę i walidację formularzy, wsparcie dla Prototype i script.aculo.us oraz wsparcie „przyjaznych" adresów URL - a wszystko to podbudowane przyjaznymi narzędziami do generowania kodu. Również implementacja i uruchomienie pierwszej aplikacji jest bardzo ułatwione - za rękę poprowadzi nas odpowiedni screencast.
Godny odnotowania jest również fakt, że CakePHP posiada dużąbazę wiedzy w postaci m.in. CakePHP's Bakery, gdzie znajdziemy bardzo dużo przykładowego kodu i aplikacji dodawanych przez użytkowników. Dodatkowo naszą wiedzę możemy uzupełnić na stronach IBM developerWorks - znajdziemy tam kompletny kurs szybkiego developmentu z pomocą tego frameworka. Bardziej wymagający developerzy mają możliwość skorzystania z połączenia dotychczas omówionych frameworków, którego opis znajdziemy na tym blogu.
Podsumowując, to dobry framework dla początkujących i tych, którzy chcą szybko tworzyć proste aplikacje webowe. Jednakże zdania na jego temat są podzielone, głównie ze względu na wspomniane już wymuszanie konwencji nazewniczych oraz możliwości implementacji bardziej złożonych funkcjonalności.
Zalety: tutoriale, przykłady, silne narzędzia do generowania kodu, pluginy, wsparcie przez IRC
Wady: wymuszanie nazewnictwa, wydajność
«poprzednia 1 2 3 następna »
Polecamy
Reklama
Komentarze
Aby dodać komentarz, musisz podać swój nick, treść komentarza oraz poprawnie przepisać oba słowa z obrazka
(słowa muszą być rozdzielone spacją).
W treści komentarza można używać języka formatowania BBcode.
Popularne
Pobierałeś pirackie pliki? Uważaj! Kontrole antypirackie w domach użytkowników to codzienność
36
Pobieraczek.pl pozwie internautów, którzy nie chcą płacić abonamentu
1455
Debata w sprawie ACTA: internauci spodziewali się chyba czegoś innego
14
Wynalazca WWW przed sądem: walczy tam o wolny dostęp do webowych technologii dla każdego
8
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
15
Internet w EU bez Facebooka i Google? Firmy nie mają wyboru: albo się dostosują, albo…
10
Zaktualizuj PHP do wersji 5.4, zyskasz za darmo nawet o kilkudziesiąt procent wyższą wydajność aplikacji
6
MSWiA zamówiło narzędzia do „złamania” Tora i podsłuchiwania internautów. Czy złamało przy tym prawo?
89
[Aktualizacja] Facebook zablokował Demotywatory.pl. W czym zawiniły?
36
FBI zamknęło Megaupload. Anonimowi dali się sprowokować. Teraz ich akcja uzasadni potrzebę SOPA?
17
Pobieraczek.pl pozwie internautów, którzy nie chcą płacić abonamentu
1455
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
15
„Donald matole, twój rząd dopadną kibole” – hakerska elita przyłącza się do walki z ACTA
23
Pobierałeś pirackie pliki? Uważaj! Kontrole antypirackie w domach użytkowników to codzienność
36
Społeczność
WebDev @slawek22
OK. Rozumiem i wiem, że koncerny stosują regionalizacje i nie...
slawek22 >są inne rodzime serwisy VOD z legalny filmami
WebDev no fakt... jeśli...
WebDev @BLACK BEAR®
"bo denerwujesz mi ludzi na forum” lool
Minister Zdrowia...
tobas ClickShop bardzo wolno działa!!!
Nie dajcie się nabrać na wygląd i...
blackbear @WebDev, widzę że muszę Ci rozjaśnić we łbie. Czytaj więc i nie pisz...
Jay Brak obsługi aplikacji x86/x64 ze zwykłych desktopów to kręcenie na siebie...
WebDev @slawek22
Tak jak ze wszystkim tak i z prawem własności można przesadzić...
- gardius: Dobra hurtownia sportowa (1)
- gardius: Tanie książki gdzie warto kupować? (1)
- Najdmen.pl: PROMOCJA, 500 DOMEN .EU ZA 1 PLN NETTO ! (1)
- VMLine: [Oferta] Serwery VPS Xen-HVM/OpenVZ z darmową administracją (2)
- Marek: Generowanie PDFa (2)
- Marek: problem z menu (2)
- Marek: Własne checkboxy w HTML,CSS (1)
Polecane książki
Praca
Czytaj Webhosting
Chcesz być na bieżąco z naszymi informacjami? Zapisz się na Newsletter.
Zarejestruj domenę
Sprawdź dostępność swojej domeny:
| .pl: | 0 zł | .com: | 19.90 zł | |
|---|---|---|---|---|
| .com.pl: | 0 zł | .eu: | 19.90 zł |










#1 qqq 2010-04-22 11:51:55 0
IP: 89.171.9.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9
#2 adawo® 2010-04-22 12:07:22 0
IP: 95.51.10.[...] Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; InfoPath.2)
#3 sc0rp 2010-04-22 13:11:17 0
IP: 212.76.60.[...] Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 (.NET CLR 3.5.30729)
#4 nuncjo 2010-04-22 14:08:36 0
IP: 94.141.130.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 (.NET CLR 3.5.30729)
#5 dAREuS® 2010-04-22 14:48:09 0
IP: 188.121.11.[...] Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.1.249.1045 Safari/532.5
#6 dkfsdf 2010-04-22 18:14:32 0
IP: 79.173.17.[...] Opera/9.80 (X11; Linux x86_64; U; pl) Presto/2.5.24 Version/10.52
#7 Saskatchewan 2010-04-22 19:28:23 0
IP: 188.47.115.[...] Opera/9.80 (Windows NT 5.1; U; pl) Presto/2.5.22 Version/10.51
#8 cypherq 2010-04-22 20:17:01 0
IP: 77.65.50.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.9 Safari/533.4
#9 cypherq 2010-04-22 20:18:24 0
IP: 77.65.50.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.9 Safari/533.4
#10 autor 2010-04-22 22:16:32 0
IP: 83.29.69.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.1.249.1045 Safari/532.5
#11 sc0rp 2010-04-23 05:00:43 0
IP: 212.76.60.[...] Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 (.NET CLR 3.5.30729)
#12 olson 2010-04-23 07:29:27 0
IP: 188.121.11.[...] Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2 (.NET CLR 3.5.30729)
#13 GregT 2010-04-23 11:32:06 0
IP: 194.187.55.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1) Gecko/20090624 Firefox/3.5
#14 autor 2010-04-23 13:56:01 0
IP: 80.50.153.[...] Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.1.249.1045 Safari/532.5
#15 autor 2010-04-23 14:02:28 0
IP: 80.50.153.[...] Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.1.249.1045 Safari/532.5
#16 cypherq 2010-04-23 20:27:09 0
IP: 77.65.50.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.17 Safari/533.4
#17 Artur 2010-04-23 20:38:15 0
IP: 213.134.160.[...] Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 (.NET CLR 3.5.30729)
#18 rocichy 2010-04-25 00:05:45 0
IP: 87.204.22.[...] Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; GTB6.4; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)
#19 adm 2010-04-26 10:21:04 0
IP: 85.14.102.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
#20 Googler 2010-05-05 12:12:55 0
IP: 81.190.209.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.19) Gecko/2010031422 Firefox/3.0.19 (.NET CLR 3.5.30729) FirePHP/0.4
#21 dAREuS® 2010-05-05 12:17:56 0
IP: 188.121.11.[...] Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.1.249.1045 Safari/532.5
#22 Stryj rab 2010-05-09 00:28:33 0
IP: 85.222.5.[...] Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.29 Safari/533.4
#23 stata 2011-04-11 13:23:37 0
IP: 89.78.183.[...] Opera/9.80 (X11; Linux i686; U; pl) Presto/2.7.62 Version/11.01