Uwagi, pytania zwiazane zwiazane z artykulem hawka "http://wortal.php.pl/phppl/wortal/artykuly/php/architektura/wprowadzenie_do_mvc" prosze pisać w tym temacie.
Mniam mniam - ten artykul i polska dokumentacja Phiend'a D
Jednakze jest pewien powazny problem - wydrukowac nadal to sie latwo nie da - niestety, panowie ta ikonka drukuj jest nic nie warta w sumie...
Tak wiec moja propozycja roszerzenia funkcjonalnosci - trzeba dodac cos w stylu "Drukuj zawartosc dzialu" - najlepiej jak bedzie wysylalo plik PDF
Moja drukarka juz piszczy na wiesc o drukowaniu Manuala Phiend'a D
Jak bedzie piszczec za czesto i za glosno to recznie to zloze i wrzuce do PDFa
dzis bede w domq pracowal nad pdf wiec poglaszcz swoja drukareczke niech poczeka i dostanie to na co czeka ... .
PDF: http://forum.php.pl/viewtopic.php?t=13877
A gdzie mozna poczytac coś więcej o problematyce MVC?
Jakieś szersze informacje, przykłady? Gdzie wogóle można poczytać o organizacji kodów php itd.
Pozdrawiam
Tutaj: http://mvc.ag.bocznica.org/
Ciekawe rzeczy piszą też na http://www.phppatterns.com .
Any polish literature?
Niestety, w naszym pięknym ojczystym języku literatura fachowa jest skąpa. Cóż, taka profesja...
Do linków dorzucę jeszcze http://msdn.microsoft.com/practices/type/Patterns/Enterprise/DesMVC/.
Cóż a może wogóle przydałaby się jakaś wykładnia nie koniecznie z kręgu filozofii światowej ale poparta własnymi doświadczeniami w zakresie budowania aplikacji php. Od dłuższego czasu buduję takie aplikacje ale jest w nich bałagan, czasami prowadzi to do tego że kilka razy pobieram z bazy te same zmienne, a czasami wręcz dochodzi do kolizjii nazw zmiennych. Pogubiłem się w tym wszystkim. Czasami aż strach pomysleć co ten program właściwie robi (od ponad roku parsuje i wrzuca do MYSQL'wej bazy dane pochodzące z baz PROGRESA (nie mylić z postgresem!)) na ich podstawie generuje pisma, umowy itd.
Kiedy patrzę np. na taki MAMBO_SERVER, jak tam wszystko jest ładnie poukładane, prawie kazdy skrypt składa się z instrukcji typu $obiekt_X->zrób_to(), obiekt_Y->zrób_tamto(). Nie to co u mnie.
Chciałbym aby ktos podzielił sie ze mną jakąś swoją sprawdzona filozofia wtej dziedzinie. Nie chodzi o jakies górnolotne wywody ale po prostu o to które zmienne zawsze trzymac wsesjach a których nie, jak rozegrać same pliki skryptów, ile i jakie klasy tworzyć etc.
Pozdrawiam
To nie jest chyba coś co można wytłumaczyć w ramach jednego postu :? . To jest raczej coś czego człowiek/programista uczy się całe życie.
Moja rada: trzeba "czuć" obiektowość. Polecam http://www.php.pl/index.php/phppl/artyku_y/aplikacje_internetowe/architektura/oo_programowanie_obiektowe_w_praktyce i http://www.phppatterns.com/. Wzorce, wzorce...
Chyba jednak wyszły z tego górnolotne wywody :? i nie podam ci jakiegoś wspaniałego rozwiązania dot. np liczby klas. Odpowiedź brzmi: "to zależy i tylko ty możesz to ocenić". Gdyby było inaczej to zrobiliby jakiegoś mega-super-programującego-robota i nie byłoby dla nas pracy .
Polecam artykuł na temat wzorców projektowych:
http://phppatterns.com/index.php/article/articleview/103/1/1/
ROX ~! :D
no i w tym phparchitekcie co jest z maja 2003 w pdfie za free tez jest art wprowadzajacy
Przydało by się dodać do tego artykułu jakieś przykłady zastosowania, jakiś kod, bo przyznam szczerze że z przerzuceniem się na OOP było u mnie bez problemu tak z MVC męczę się od jakiegoś czasu i po prostu załapać tego nie umiem.
W artykule nie wyświetlają się rysunki. Sądzę, że przydałyby się do lepszego zobrazowania przedstawionych tam treści. Czy ktoś mógłby poprawić ścieżki do obrazków tak aby pokazywały się poprawnie?
PS. Pod obrazkami przydałby się też alt na wypadek jakby znowu przestały działać
A ja mam cholerne problemy z tym MVC. Próbowałem przetestować gotowe skrypty phpMVC (bez jakichkolwiek zmian).
Mam zainstalowanego Apacha 2 + php 5 pod Windowsikiem.
Zmieniałem już konfigurację php.ini w najrozmaitrzy sposób i wciąż wywala mi jakieś błędy.
Ostatnio wywala mi błąd, że nie może znaleść includa, mimo że ma zdefiniowane w main.php include_path (jakby nie widział w ogóle ustawienia tego).
A nie zagłębiając się za bardzo ... czy ktoś postawił u siebie phpMVC i czy mógłby powiedzieć, jak to uczynił
Witajcie
Na wstepnie chcialem pochwalic za super serwis, wiele ciekawych informacji, a forum to juz w ogole wymiata - iloscia postow jak i poziomem dyskusji. Dzieki, ze jestescie.
A teraz ad rem... tlumaczenie mana do phienda jest ok, ale trudno sie je czyta (co juz wiadomo), nawet powstal pdf, ale jest maly problem - nigdzie nie moge go znalezc, link, ktory podano na stronie - nie dziala (404)... any ideas?
Tylko czy to naprawdę jest prawdziwy model MVC? Bo z tego co ostatnio się dowiedziałem (od osób studiujących informatykę i z różnych artykułów) to autor chyba pomylił pojęcia Sterownik / Kontroler. W modelu MVC mamy Kontroler i jest on odpowiedzialny za modyfikowanie modelu, a w przypadku gdy mamy akcję nie wymagającą modyfikowania danych Kontroler w ogóle nie uczestniczy w działaniu aplikacji.
A w artykule na php Kontroler jest odpowiedzialny za zbieranie żądań od użytkownika i przekazywanie ich albo Widokowi albo modyfikowanie Modelu.
Czy to aby na pewno jest MVC?
Jeśli się mylę, to proszę mnie poprawić, ale nie na darmo słuchałem 3 godzinnego wykładu o MVC od mojego znajomego informatyka
Nie wnikam czy kontroler powinien wykonywac jakies akcje czy nie... z pewnoscia bede pisal, tak aby mi bylo wygodniej (no i zeby mialo to rece i nogi) i oczywiscie zeby w przyszlosci mozna bylo wielokrotnie wykorzystywac raz napisane modele/wzorce... czas pokaze.
btw dla mnie informatyk to "pan kazio instalujacy drukarki w urzedzie miejskim"... w dzisiejszych czasach pisac o kims informatyk, to IMHO obraza , sklanialbym sie tu do wydzielenia w jakiej galezi ow informatyk sie porusza...
Czy wiadomo juz skad mozna zassac pdfa?
@matid:
Dla mnie to co powiedział znajomy informatyk jest bez sensu.
Co to znaczy "odpowiedzialny za modyfikowanie Modelu"? Pomijając samo MVC, sama idea czegoś takiego jest... dziwna. Jeżeli jakaś moja akcja chce zmienić coś w modelu, prosi Kontroler, żeby poprosił obiekt Modelu, żeby coś tam zmienił? To by była Fasada na Model.
Moja wina, moja wielka skrzynka wina...
Przetłumaczonego manuala w pdf nie można ściągnąć, bo nie ma linka w ez. Pewnie nie został wygenerowany. Link który dawał scanner wyżej w tym wątku też nie działa. Więc stan jest taki że tego pdf nie ma. Ja nie mam u siebie przetłumaczonych źródeł więc nie mogę sam wygenerować.
Pozostaje ci tylko wersja angielska.
PS Przetłumaczony manual w ez w wersji HTML też jest śmieszny: wstęp znalazł się na końcu
Rotfl.
Właśnie napisałeś że uruchamianie akcji nie ma nic wspólnego z MVC.
Możesz napisać trochę więcej o różnicach między sterownikiem a kontrolerem?
Kontroler ma za zadanie modyfikować model. Jeśli prosimy o coś kontroler, to dlatego, że coś się odwołuje do modelu w sposób wymagający nad nim kontroli.
Sterownik ma za zadnie wywoływać odpowiednie akcje na podstawie danych otrzymanych od użytkownika.
MVC nie przewiduje takiego czegoś jak Sterownik, tzn. nie jest to intergralną częścią MVC. Tak samo jak nie jest nią uruchamianie akcji.
MVC można często uprościć do tylko 2 warstw, mianowicie następuje do połączenia Modelu z Kontrolerem i w tedy aplikacja, która chce zmodyfikować model odwołuje się bezpośrednio do niego.
witam
zaczynam sie zapoznawac z frameworkiem Mojavi 2.0 ,w zwiazku z tym mam pytanie: jesli mam funkcjonalnosc edytowania danych uzytkownika, to jak to powinno byc zgodnie z MVC rozwiazane. Ja to widze tak i prosze o korekte myslenia
1. podczas pokazywania wypelnionego formularza zmiany w akcji nie robie nic poza wywolaniem odpowiedniego widoku, w ktorym tworze instancje modelu, pobieram za jego pomoca dane z bazy i wyswietlam
2. po wyslaniu danych przez POST wywoluje w akcji metode execute() ktora zapisuje dane w bazie, i dopiero prechodze do odpowiedniego widoku, tworze instancje modelu, pobieram dane i wysiwetlam
Czy pobranie danych z bazy nie jest elementem Logiki Biznesowej? Bo w koncu operuje to w jakis sposob na bazie danych. Czy poprawne jest pobieranie danych w widoku, czy powinny one zostac pobrane w akcji i poprzez obiekt request dopiero przekazane do widoku, ktory pobierze je z requesta i wyswietli?
z gory dizeki z a odpowiedz
pozdrawiam
Pobierasz czy zapisujesz dane powinienes to robic poprzez MODEL. To on komunikuje sie z danymi (baza danych, itp.).
np.
widok -> model -> db
akcja -> model -> db
to wiem,
czyli w momencie jesli zadanie uzytkownika nie musi wprowadzac zmian w bazie danych, wtedy nie potrzebuje robic nic w akcji oprocz zwrocenia odpowiedniego widoku, a w widoku dopiero wyciagac dane z bazy i wyswietlac? a w momencie jesli musze zrobic jakas operacje na bazie to robie to w akcji (przy pomocy modelu), a w widoku znowu pobieram dane po aktualizacji i wyswietlam?
@ebe widok to coś więcej, widok jest sposobem prezentacji, może to być xhtml, wap, pdf, co tam chcesz.
W takim razie jak połączyć widok z systemem szablonów?
Widok posiada w sobie model, do tego np. podtytuł podstrony i nazwę pliku szablonu dla tego modelu (bo przecież nazwy pliku szablonu nie trzymamy w modelu) i n innych rzeczy. Czy kontroler ma wrzucać do obiektu widoku instancję szablonu lub widok ma tworzyć własną instancję przez singleton i w widoku ma się odbywać assignowanie do szablonu. Czy też jakoś inaczej? Mowa o przypadku (x)html bo np dla pdf'a widok utworzy klasę odpowiedzialną za generowanie pdf, a nie szablon.
Chętnie poczytałbym ten artykuł, ale niestety link nie działa :/
Link do pdf także nie działa http://forum.php.pl/viewtopic.php?t=13877.
@TomASS a wystarczylo tylko na wortalu wpisac tytul do wyszukiwarki i co bys znalazl?
http://wortal.php.pl/phppl/wortal/artykuly/php/architektura/wprowadzenie_do_mvc
zaraz poprawie tez w pierwszym poscie
Oczywiście dałem ja sobie radę - napisałem to w imieniu kogoś kto by nie mógł znaleźc.
Co nie zmienia faktu, że link do PDF'a nie działa.
Dobrze nospor, że czuwasz
oj z tym pdf to tez mogles sam poradzic...
masz tam id topicu i to najwazniejsze. teraz tylko pobierasz aktualny url do topicow, wstawiasz to id co masz i juz
http://forum.php.pl/index.php?showtopic=13877
Co do MVC to bardzo polecam książeczke o tytule :
"PHP architects guide to PHP design patterns: a practical approach to design patterns for PHP 4 and PHP 5 developer"
(znajdują sie tam tez opisy wielu innych wzorców)
zamiescilbym tu linka na rapida z tą ksiazeczką, ale jescze mi konto miłe
ps->szukajcie "php design" na blueportal.org (w dziale search a nie w tym googlowym)
Artykuł cudo. nic tylko czytac
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)