![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 576 Pomógł: 14 Dołączył: 9.11.2005 Ostrzeżenie: (20%) ![]() ![]() |
Hej - takie pytanie mam poniewaz od niedawna zaczalem czytac o OOP, jednoczesnie o MVC i freameworku Zend.
Nie wiem na czym sie na poczatek skupic; czy sprobowac napisac cos obiektowo z uzyciem szablonow np Smarty (rozwinac sobie znajomosc OOP), czy skupiac sie juz na frameworku i w nim probowac cos tworzyc na podstawie MVC (zaznaczam jednak ze obiektowo dopiero zaczynam) Zdr. Ten post edytował Lonas 7.05.2008, 08:37:55 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Smarty raczej do OOP nie można zaliczyć... (chyba że pominąć antywzorzec The Blob (IMG:http://forum.php.pl/style_emoticons/default/dry.gif) )
Nie wiem na jakim jesteś etapie, bo jeśli wiesz jak się buduje obiekty, jak rozdziela się odpowiedzialność i sprawia aby się z sobą komunikowły (w podstawowej formie) to można szukać dobrych wzorców, właśnie pisząc np. w Symfony, aby nie wyrobić sobie złych nawyków. EDIT Co do Zend, to jak już nieraz było mówione ciężko jest zaliczyć to do FW, raczej do zbioru komponentów (choć pewnie w przyszłości stanie się w końcu FW) Ten post edytował Sedziwoj 28.04.2008, 12:28:52 |
|
|
![]()
Post
#3
|
|
Administrator wortalu Grupa: Przyjaciele php.pl Postów: 960 Pomógł: 39 Dołączył: 21.10.2003 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat Co do Zend, to jak już nieraz było mówione ciężko jest zaliczyć to do FW, raczej do zbioru komponentów (choć pewnie w przyszłości stanie się w końcu FW) Tak... Tylko że przykładu lepszego OOP ciężko by znaleźć. |
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 576 Pomógł: 14 Dołączył: 9.11.2005 Ostrzeżenie: (20%) ![]() ![]() |
Co w takim razie na poczatek obiektowo sprobowac napisac ?
|
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 1 566 Pomógł: 37 Dołączył: 14.05.2003 Skąd: Kraków ![]() |
System newsów ? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) W tym sterownik MySQL, szablony itp. Toporne, ale dokształcające.
|
|
|
![]()
Post
#7
|
|
Grupa: Przyjaciele php.pl Postów: 384 Pomógł: 6 Dołączył: 11.09.2004 Skąd: Grodzisk Mazowiecki Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
Administrator wortalu Grupa: Przyjaciele php.pl Postów: 960 Pomógł: 39 Dołączył: 21.10.2003 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat Naprawdę nie jest ciężko znaleźć coś napisanego lepiej. No to może przedstaw swoje znaleziska zamiast pisać puste posty. Chętnie się nauczę lepszego oop... |
|
|
![]()
Post
#9
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
No to może przedstaw swoje znaleziska zamiast pisać puste posty. Chętnie się nauczę lepszego oop... Na dzień dobry bo mam mało czasu.Interfejs Request:
Co to ma wspólnego w czymkolwiek kojarzącym się z Request? Nic. Piszę to ponieważ połowa klas i interfejsów jest nafaszerowana jakimiś setParam(). Nie wpadli na żadnego ParameterHoldera? Złamanie w skali globalnej jednaj z podstawowych zasad - DRY. Poza tym większość klas jest nafaszerowana takimi kwiatkami:
Efekt? Bez zaglądania w kod nie jesteś w stanie stwierdzić co dana klasa robi i do czego służą jej metody. A dokumentacja jest nieaktualna i słabo napisana. W ZF w stopniu przekraczającym dobry smak są nadużywane metody magiczne. Po 3 miesiącach pacy na tym frameworku wypracowałem powiedzenie. Jeśli chcesz coś pobrać to na pewno jest to ukryte w jakiejś magicznej metodzie. Tylko której? To jest mój główny zarzut dotyczący ZF. Totalne pomieszanie i poplątanie i brak czytelności. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 576 Pomógł: 14 Dołączył: 9.11.2005 Ostrzeżenie: (20%) ![]() ![]() |
(IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ) dobra troszke mi zniesmaczyliscie ZF ..
w takim razie sprawdze symfony i moze sprobuje w tym frameworku zrobic jakas galerie czy system newsow (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#11
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
w takim razie sprawdze symfony i moze sprobuje w tym frameworku zrobic jakas galerie czy system newsow (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Tak naprawdę to zaczynanie z jakimkolwiek frameworkiem może być dla Ciebie trudne. Czy to będzie ZF, czy symfony czy cokolwiek innego.Zwróć uwagę na to, że framework jest to przeważnie duża konstrukcja stworzona z zastosowaniem wielu wzorców, których możesz nie rozumieć i się w nich gubić. Napisanie systemu newsów za pomocą symfony to jak nauka parkowania tyłem TIRem z naczepą tylko po to by nauczyć się parkować po latach doświadczeń jazdy na rowerze. Jeśli chcesz nauczyć się programować obiektowo zacznij od teorii, książek i artykułów. Dowiedz się czym są obiekty, klasy... Jak na siebie oddziaływają i kiedy są dobrze połączone i co to są wzorce. Nie musisz znać całej teorii OOP na pamięć. Po prostu dowiedz się w jakiej materii będziesz się poruszał. Moim zdaniem powinieneś napisać ten przykładowy system newsów ale sam projektując klasę News, Post, User czy co tam chcesz. Nawet jeśli to wszystko umieścisz w strukturalnym kodzie a tylko część będzie spełniała jakieś tam paradygmaty OOP, nawet jeśli połowa będzie błędna to lepiej na tym wyjdziesz niż skorzystasz z frameworka. Jak Ci się to uda powtórz to samo na jednym, dwóch czy trzech różnych frameworkach. Zobacz co one Ci dają, jaki ciężar z Ciebie zdejmują i co oferują. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 576 Pomógł: 14 Dołączył: 9.11.2005 Ostrzeżenie: (20%) ![]() ![]() |
Rozumiem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) dzieki za wskazowki, wlasnie w takim kierunku szedlem caly czas tylko czytajac coraz wiecej o OOP natrafialem na MVC, na frameworki i coraz tego wiecej bylo az w koncu nie wiedzialem za co sie zabrac (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
W takim razie poprostu napisze sobie przykladwy system newsow z wykorzystaniem jakis szablonow zeby nie mieszac kodu strukturalnego z obiektowym. Dzieki i pozdrawiam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#13
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Coż, "napisanie" systemu news w Symfony sprowadza sie do odpalenia konsoli i wkejenia:
Cytat $ symfony plugin-install http://plugins.symfony-project.com/sfSimpleNewsPlugin Wracając do tematu : Cytat W takim razie poprostu napisze sobie przykladwy system newsow z wykorzystaniem jakis szablonow zeby nie mieszac kodu strukturalnego z obiektowym. Szablony to nie jest gwarancja, ani nawet skuteczna metoda na odseparowanie kodu strukturalnego od obiektowego. Szablony (Smarty) w ogóle mają bardzo nikły sens, Napisz ten system news używając php w warstwie prezentacji, bo to ona ma zostać odseparowana od wartswy logiki. Pozdrawiam. |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Szablony (Smarty) w ogóle mają bardzo nikły sens, Ciekawa opinia, to jakby powiedzieć że przycisk (nad tym okienkiem edycji) b jest nie potrzebny, bo przecież co za kłopot napisać [b] a potem jego zamknięcie. Bo mi się wydaje, że to jedna z zalet stosowania szablonów, uproszczony interfejs. Oczywiście mówię o przypadku kiedy to nie programista podpina wygląd, ale osoba która zna HTML+CSS a do szczęścia takiej znajomość PHP jest zbędna. A czy przypadkiem w Symfony, warstwa prezentacji, to nie taki uproszczony system szablonów (IMG:http://forum.php.pl/style_emoticons/default/dry.gif) EDIT Chyba trochę odchodzę od tematu rozmowy, ale mnie zaciekawiła ta opinia na temat szablonów. P.S. Gdyby nie było tej głupiej 30s przerwy między dodawaniem postów, to bym dodał kolejny, a nie edytował. Ten post edytował Sedziwoj 30.04.2008, 08:14:11 |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 576 Pomógł: 14 Dołączył: 9.11.2005 Ostrzeżenie: (20%) ![]() ![]() |
Napisz ten system news używając php w warstwie prezentacji, bo to ona ma zostać odseparowana od wartswy logiki. Mozesz o tym cos wiecej napisac - wymyslilem sobie juz co bede pisal - poniewaz swojego czasu napisalem taki system do zarzadzania magazynem oraz zarzadzania sprzedaza (faktury) z tym ze calosc byla pisana strukturalnie z "pseudo" wydzieleniem widoku od kodu - tworzylem sobie katalog z formatkami i w nich tylko wczytywalem dane do formatek. Dopisze sobie do tego nowa funkcjonalnasc - planowanie produkcji i tutaj pobawie sie obiektowo. Myslalem napisac sobie klasy oblsugujace dane funkcjonalnosci i do prezentacji wynikow uzyc Smarty. Z czasem chcialbym stowrzyc taka aplikacje zgodnie z modelem MVC w jakims frameworku |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 18 Dołączył: 19.04.2008 Ostrzeżenie: (10%) ![]() ![]() |
proponuje zaczac od zapoznania sie z PHP, moze byc 4, moze byc 5
zrobisz sobie obiekciki, szablony i inne cudenka w kilka dni |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
proponuje zaczac od zapoznania sie z PHP, moze byc 4, moze byc 5 Tia bardzo dobra rada, zacząć od 4, gdy to już jest przeszłość, jakby zacząć od kart perforowanych |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 18 Dołączył: 19.04.2008 Ostrzeżenie: (10%) ![]() ![]() |
wiem, ze dobra @Sedziwoj, nie opowiadaj ludziom bajek
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#20
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
@cbagov - pisz do rzeczy, bo teraz nawet nie wiedomo o co Ci chodzi.
@sedziwoj - Powiedzmy inaczej - dla programisty maja nikły sens, bo grafikom,to może do gustu przypadną. W SF nie masz szablonów - masz gołe php wspierane helperami. Jedne są mniej, inne bardziej przydatne (np. wszelkie 'object_helpery'). Bardzo fajnie tez wygląda kodowanie JS w helperach (ale to znam słabo, wiec mogę się mylić). @lonas - wystarczy, że zachowasz podział na 3 warstwy (MVC) 1. Dane - operacje na źródłach danych 2. Logika - obsługa poleceń - wykorzystanie danych 3. Prezentacja - wyświetlenie wyników - może być w zwykłym html przeplatanym php i nie jest to złe rozwiązanie. Pozdrawiam. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 22:51 |