Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inny]Tutorial krok po kroku dla zielonki
Forum PHP.pl > Forum > PHP > Frameworki
busterek
Witajcie.
Chciałbym przejść na wyższy poziom wtajemniczenia i poznać jakiegoś frameworka. Niestety kiedy patrze w dokumentację to ni w ząb nie rozumiem co w niej jest napisane. Pojęcie kontrolera znam, pojęcie modelu też. Nawet zacząłem próbować coś pisać, niestety z mizernym skutkiem. Czy istnieje w sieci jakiś tutorial z przykładami od A do Z?
Np. Jak przy pomocy ZF2 połączyć się z bazą, pobrać zapytaniem dane i wyświetlić w tabelce? Jak pobrać dane z formularza i zapisać je w tabeli MySQL? Jak podłączyć zewnętrzne skrypty JS (jQuery, jQueryUI, pluginy)? Itp.

Niby pierdoły, ale przyznam się szczerze, że mnie nauka idzie wtedy lepiej. Z konkretnych przykładów.
RiE
Zaczynając 'wstajemniczenie' musisz wiedzieć kilka rzeczy bo inaczej będzie to jak nauka jazdy przez telefon.
Przede wszystkim obiektowość. Każdy liczący się framework jest zaprojektowany w sposób obiektowy, dlatego też musisz znać pojęcia i terminologię wywodzące się z obiektowości.
Druga rzecz jaką wypadałoby znać to wzorzec MVC*, wiedzieć co to jest kontroler, co to jest model, co to jest widok, gdzie wykonuje się logike aplikacji itp. Wtedy będziesz wiedział dlaczego w danym frameworku jest to odseparowane, dlaczego z tego pliku wykonujemy daną operację a nie z innego. Znacznie ułatwi to naukę frameworka.

Jeżeli chodzi o Zend Framework 2, to w oficjalnej dokumentacji jest tutorial pod tytułem Getting Started with Zend Framework 2,
Tutorial ten polega na stworzeniu prostego modułu od A do Z, w którym prezentowana jest lista utworów. Pokazane jest jak połączyć się z bazą danych oraz standardowe operacje CRUD. Pokazane jest również jak przeprowadzić testy jednostkowe za pomocą PHPUnit.
W tym tutorialu nie tylko podany jest kod, ale również wszystko wyjaśnione, co, jak, dlaczego akurat tak. Warto też czytać komentarze pod daną podstroną.

Po takich podstawach powinieneś wiedzieć jak stworzyć własny formularz, jak połaczyć się z bazą, jak pobrać dane, jak dodać dane, itp. czyli to co znajduje się na każdej stronie internetowej.
Potem pozostaje tylko pogłębiać tę wiedzę i zwracać uwagę na mniej standardowe rzeczy.

*- akurat w przypadku Zend Framework 2, architektura bardziej przypomina MOVE niż MVC, gdyż bardzo ważną rolę pełnią Eventy. Sam framework jest budowany w 100% obiektowo pod PHP 5.3 , więc przestrzenie nazw, czy funkcje lambda (zwane częściej funkcjami anonimowymi) są czymś standardowym. Framework ten jest modułowy, aplikacje tworzy się na zasadzie dodawania nowych modułów, które bez problemu możesz wykorzystywać w innych aplikacjach, bo mają własny routing, własne kontrolery, własną logikę, własne widoki. W zasadzie mają wszystko własne : )

Najważniejsze to się nie poddawać i debugować, debugować i jeszcze raz debugować.
lucio1988
Do nauki polecam analizować czyjś kod. Do zf2 została stworzona strona z modułami, które można w łatwy sposób wyszukać. Nie polecam jednak nauki z oficjalnych modułów społeczności zf2 (zfc-base i zfc-user), nie do końca są przemyślane jeżeli chodzi o logike. Dobre moduły do analizy znajdziesz tutaj i tutaj (przyszły zfc-user2).

Jednak tak jak napisał RiE polecam najpierw zagłebić się w wzorce projektowe (MVC, MOVE, DDD, DI, TableGateway, ActiveRecord*, DataMapper). Wtedy wszystko staje się jasne (dlaczego coś jest w tym pliku, a nie innym).

Polecam też zapoznać się ze standardami kodowania w PHP: PSR-0, PSR-1, PSR-2 i PSR-3. w zf2 wykorzystywany jest PSR-0, a aktualnie trwają prace nad PSR-4.

Bardzo dużo daje też debugowanie. Zainstaluj czyjś moduł (lub napisz sam), stwórz kilka breakpoint'ów (kontroler, datamapper/tablegateway, entity, hydrator, formularz, itp) i zobacz jak wszystko działa, jakie pliki, klasy i metody są wywoływane. Wtedy będziesz miał szerszy obraz tego jak to wszystko działa.

Na koniec kilka przydatniejszych tutoriali do zf2.

Ponadto na oficjalnej stronie Zend jest sporo webinarów, które pokazują jak coś zrobić i dlaczego właśnie tak. Polecam wink.gif

* ActiveRecord nie jest standardowo wspierany w zf2, jednak polecam zapoznać się na czym on polega.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.