Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Zend Framework - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: Zend Framework (/thread-zend-framework)

Strony: 1 2


RE: Zend Framework - R_Rafalsky - 03-03-2011

To inaczej:

Wzorzec MVC, o który opiera się idea wszystkich wyżej wymienionych frameworków, jest to wzorzec projektowy (taki wzór wg którego mamy się trzymać by było dobrze). Wymaga on aby aplikacja była podzielona na 3 oddzielne strefy: Model (logika aplikacji), Widok (odpowiedzialny za wyświetlanie wszelkich wyników), Kontroler (kontrola i reagowanie na dane, reakcje użytkownika, napotkane problemy). Takie podejście do tworzenia aplikacji pozwala na łatwiejsze zapanowanie nad nią. Widok jest tylko od wyświetlania danych, kontroler od reakcji a model od logiki. Widok nie musi się przejmować jakie dane i gdzie są przetrzymywane oraz na jakiej zasadzie są przetwarzane. Dostaje on tylko dane, które musi wyświetlić. I odwrotnie model: nie interesuje go gdzie i jak dane, które dostarczy będą wyświetlane. Mówię tu tylko o widoku i modelu, bo ZendFramework reprezentuje podejście MVP (Model - View - Prezenter), gdzie kontroler jest tylko łącznikiem między widokiem a modelem, w prawdziwej aplikacji MVC każdy ten element komunikuje się ze sobą bezpośrednio (jest tak np w YiiFramework).

Framework daje Ci podstawowy szkielet i narzędzia, byś mógł pracować w oparciu o ten wzorzec. Masz aplikację wstępnie rozdzieloną na te 3 składniki. Dostajesz narzędzia, które pozwalają Ci tworzyć cokolwiek (blogi, fora, kalendarze cuda-niewidy). Wszystko jest już w pełni zabezpieczone i przygotowane tak, by spełniać wymagania tego wzorca.

Dlaczego to jest fajne i dlaczego może Ci się przydać?
masz sobie prostą firmową stronkę: 5 podstronek, formularz kontaktowy, logowanie/rejestracja, gdzieś tam poczta firmowa. Wybraź sobie, że musisz zmienić bazę danych z Oracle na MySQL. Od cholery roboty masz nagle co? szukasz wszędzie, gdzie masz połączenie z bazą Oracle i zamieniasz na połączenie z MySQL. I non stop testujesz czy gdzieś czegoś nie zapomniałeś. Prawda?

Mając projekt w MVC wystarczy tylko dodać model obsługujący MySQL (nawet zostawić sobie model Oracle na później np. na inny projekt) i nic więcej. Widok się nawet "nie połapie", że dostał dane z innej bazy i po prostu je wyświetli tak jak zawsze robił. Stworzenie nowej strony? Tworzymy nowy widok, reszta już jest. Minuta i mamy stronkę. Nowy formularz? Dodajemy model formularza, do tego w kontrolerze dajemy obsługę formularza i każemy gotowej klasie we frameworku sprawdzać czy dane w formularzu są poprawne i bezpieczne dla naszego projektu.

Się rozpisałem Smile Mam nadzieję, że pomogłem!


RE: Zend Framework - Marys - 26-07-2011

Dobra chyba pora odkopać temat. Poczytałem sobie, popatrzyłem... i z tego co wyczytałem to tak.
Zned - jak niektórzy uważają to nie jest framework tylko zbiór klas, podobno wolno działa, duża dowolność co może być wadą i zaletą
Symfony - szybszy od Zend, duża społeczność (nawet Polska), widziałem jak koleś w 15 min stworzył prostego bloga, podobno uczy porządku i struktury katalogów/ plików
Yii - podobno najlepszy z tych 3 jeśli chodzi o działanie i prace z nim, ale mała społeczność i rozwój pod znakiem zapytania

Zaznaczam, że to są informacje wyciągnięte z neta, a nie moje spostrzeżenia.

Z tego co tu chyba widać to najlepszy jest Symfony, ale to i tak już decyzja należy do mnie. Jeśli chodzi o moje zdanie to po obejrzeniu paru tutków w Symfony jest np. fajne to że można generować panel admina i to jest fajne rozwiązanie dla małych stron.

Teraz jak już jesteśmy przy frameworkach to może się spytam co z dużymi projektami. Przykładowo chce napisać własnego CMS, silnik sklepu, duży portal... Według mnie zaletą zastosowania w tym przypadku frameworka jest to, że jak wprowadzimy nowego programistę to zacznie prace "od zaraz".
A jakby tak zacząć pisać samemu wszystko od zera?
Trochu dużo pracy, satysfakcja z tworzenia, wydajność?...
Może inaczej, kiedy warto pisać od samego zera?
Czy pisanie od samego zera ma sens?
Może ktoś pracuje w jakieś firmie i powie jak wygląda tak praca.

Chyba troszku się zagmatwałem swoich myślach, mam nadzieje że wszystko jest zrozumiałe Smile


RE: Zend Framework - Pedro84 - 26-07-2011

Zacznijmy od tego, że do małej strony użycie frameworka mija się z celem, no bo... po co? Strzelanie do muchy z armaty.

Scaffolding jest dobry, dużo przyspiesza - aczkolwiek czasem potrafi być piątym kołem u wozu. Wszystko jest kwestią tego, do czego chcesz aktualnie frameworka użyć.

Te informacje, które umieściłeś na początku posta można sobie o kant tyłka roztrzaskać i odnosić się do nich nie ma sensu. Stek bzdur.

Jeśli chodzi o Symfony, nie ma sensu pchać się w jedynkę skoro niedługo wyjdzie 2 (w momencie tego posta jest już RC6).

(26-07-2011, 22:34)Marys napisał(a): Teraz jak już jesteśmy przy frameworkach to może się spytam co z dużymi projektami. Przykładowo chce napisać własnego CMS, silnik sklepu, duży portal... Według mnie zaletą zastosowania w tym przypadku frameworka jest to, że jak wprowadzimy nowego programistę to zacznie prace "od zaraz".
A jakby tak zacząć pisać samemu wszystko od zera?
Trochu dużo pracy, satysfakcja z tworzenia, wydajność?...
Może inaczej, kiedy warto pisać od samego zera?
Czy pisanie od samego zera ma sens?
Może ktoś pracuje w jakieś firmie i powie jak wygląda tak praca.
Jak wyżej, wszystko zależy. CMS to nie jest nic dużego, do napisania w 10 minut w Symfony, czy Yii (czy nawet Kohanej).

Narzędzia dobiera się do danego projektu, modelu, biorąc pod uwagę setki czynników (rozwój, amortyzacja i wiele innych). Prawda jest taka, że duże projekty pisze się z wykorzystaniem frameworków, inaczej sensu nie ma.