Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Framework MVC i wywoływanie domyślnego widoku, Jak to wygląda od strony wnętrza frameworka?
Walian
post
Post #1





Grupa: Zarejestrowani
Postów: 124
Pomógł: 1
Dołączył: 13.07.2009

Ostrzeżenie: (0%)
-----


W jaki sposób we frameworkach MVC są wywoływane domyślne widoki? Tzn. nie pytam o zasady MVC, lecz o kwestię techniczą od strony wnętrza frameworka.

Np. w Zendzie tworzymy sobie najbardziej podstawowy kontroler:
  1. class IndexController extends Zend_Controller_Action
  2. {
  3. function indexAction()
  4. {
  5.  
  6. }
  7. }

I już na tym etapie Zend wie, że ma wyświetlić zawartość pliku index/index.phtml.
Gdzie jest zawarty kod, który to realizuje? Działa to świetnie bo już w akcji można wyłączyć wyświetlenie zarówno layoutu jak i widoku, a nawet wywołać kilka widoków.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
!*!
post
Post #2





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Cytat
tzn. ludzie zamiast skorzystać z gotowych klas [narzędzi], które ktoś już napisał i są one powiedzmy dobre (czy tam "prawidłowo" napisane) tworzą swoje własne, które zazwyczaj kończą się niepowodzeniem


Ale dobre dla kogo? Dla Ciebie? Dla innych bo też z tego korzystają? Niektórzy używają GTK+ przy budowaniu aplikacji dla linux, inni Qt a jeszcze inni napiszą coś używając basha...

Chodzi o to żeby napisać coś co Nam pasuje... To ile błędów popełnimy w trakcie to już inna kwestia, dobrym rozwiązaniem przy budowie FW jest pisanie od razu jakiejś aplikacji w nim, np. CMSa wtedy wyjdą wszystkie błędy dość szybko. Tworzymy narzędzie które pasuje to naszego stylu, to po prostu wygodne.

Cytat
Czyli uważasz, że zerknięcie do dokumentacji i popatrzenie kod (+ sprawdzenie tego czy faktycznie działa) jest dłuższe od napisania takiego samego (lub gorszego/lepszego) systemu? Poza tym, twierdzisz że w swoim FW nie ma problemu z zew. klasami - Czyli w Symfony lub Zendzie są? Bardzo dziwna sprawa - Szkoda na to słów.


Dokumentacja Zenda jakby to ująć... jest jedną z gorszych jakie miałem okazje czytać. To tylko moje zdanie i całkowicie się z nim zgadzam (IMG:style_emoticons/default/wink.gif) po prostu wolałbym przerabiać kod strukturalny aplikacji która ma 170k linijek w jednym pliku skompresowanej ciurkiem w jednej linijce, niż starać się zrozumieć tą dokumentacje. Podoba mi się za to dokumentacja CI, bo jest krótko i na temat, oraz cakePHP, bo jest krótko na temat i bez burdelu.

Kod
Pozdrawiam i jeśli tak bardzo już chcecie pisać własne platformy to skorzystajcie chociaż z komponentów, które już ktoś napisał i spełniają one swój obowiązek, bo można powiedzieć że to samo tyczy się PDO, podstawowych funkcji PHP i np Iteratorów (W końcu z tego korzystacie, a chcecie mieć swoje, czyż nie?).


Nie chce mieć swojego PDO, bo po co? PDO jest wbudowane w PHP i działa idealnie. Po co miałbym korzystać z cudzych komponentów, jak to mój FW pisany pod moje potrzeby? Owszem mogę skorzystać np. z klasy routera tej z ZF ale nie pasuje mi ona, szczególnie że mój FW opiera się o konkretne założenia sterowania aplikacją, więc napisałem routing pod siebie np. zlikwidowałem całkowicie odwoływanie z linku do kontrolera, metody i parametru bo mi to po prostu nie pasuje i uważam to za głupotę. Dlatego zanim przeanalizowałbym i przerobił klasy ZF pod siebie... zajęłoby mi to więcej czasu niż napisanie własnej klasy. Która działa tak jak chce i jest odpowiednia dla mojego FW i sposobu jego działania.

Zanim zdecydowałem się napisać własny FW, zadawałem dużo pytań na różnych forach odnośnie właśnie ZF, cakephp czy CI, jak zbudować w nich coś, co byłoby dokładnie takie jak JA chce. Efektem tego było to iż większość rozwiązań jakie chciałem uzyskać, zwyczajnie pozostawała bez odpowiedzi np. budowa panelu administracyjnego dla wszystkich zarejestrowanych aplikacji, w głównej strukturze katalogu, stworzenie tym samym własnego ekosystemu. Tego po prostu nie da się zrobić "od tak" w tych FW, przynajmniej na ichniejszych forach nikt takiej wiedzy nie posiadał... I tak dla odmiany mój FW na to pozwala "od tak", bez ceregieli, prosto i przyjemnie.


Cytat
Nauka? Piszesz jakąkolwiek rzecz - niech zarzućmy na przykład komunikację w MVC - Piszesz kontroler, model i widok odpalasz - działa, po chwili zastanawiasz się co dodać - analizujesz i dodajesz, działa - ale za chwile próbujesz wykonać jakiś wyjątkowy manewr...


Korzystasz z ZF czy jakiegoś tam FW, obojętnie... A wiesz chociaż JAK działają poszczególne jego elementy, nie pytam o efekt końcowy.
Go to the top of the page
+Quote Post

Posty w temacie
- Walian   Framework MVC i wywoływanie domyślnego widoku   27.05.2012, 17:35:55
- - skowron-line   Zapewne do widoku jest przekazywana nazwa akcji ja...   27.05.2012, 18:16:40
- - irmidjusz   Cytat(Walian @ 27.05.2012, 18:35:55 )...   28.05.2012, 00:19:09
- - !*!   CytatI już na tym etapie Zend wie, że ma wyświetli...   28.05.2012, 08:04:55
- - Pilsener   Jak chcesz to MVC to wybrałeś zły przykład. ZF to ...   28.05.2012, 14:23:10
- - Walian   Niczego nie jestem pewien. Po prostu chcę sobie st...   29.05.2012, 11:59:17
- - Crozin   Skoro Zend Ci odpowiada to po jakie licho robisz s...   29.05.2012, 12:22:03
|- - !*!   Cytat(Crozin @ 29.05.2012, 13:22:03 )...   29.05.2012, 12:28:24
- - Walian   @!*! Jesteś jedną z niewielu osób, która n...   29.05.2012, 13:16:02
- - Dipter   @!*! i Walian Może inaczej.. Główny probl...   29.05.2012, 16:14:55
- - !*!   Cytattzn. ludzie zamiast skorzystać z gotowych kla...   29.05.2012, 17:26:13
- - Dipter   CytatAle dobre dla kogo? Dla Ciebie? Dla innych bo...   29.05.2012, 18:03:22
- - !*!   Dipter chyba nie za bardzo rozumiesz o czym rozmaw...   29.05.2012, 18:34:43
- - Dipter   CytatTak, takie same gotowce jak PHP, ale to nie z...   29.05.2012, 20:34:05
- - irmidjusz   Według mnie, czasami warto napisać własny FW (a pr...   30.05.2012, 03:08:36
- - !*!   CytatCo nie oznacza, że trzeba je odstawiać na bok...   30.05.2012, 08:34:51
- - tehaha   Wasza dyskusja za bardzo do niczego nie prowadzi b...   30.05.2012, 12:31:55
- - Dipter   CytatA jakiś argument w końcu podasz, tak czekam i...   30.05.2012, 14:39:53
- - !*!   KodA właściwie to jest jakiś argument, który Cię z...   30.05.2012, 15:47:27
- - Dipter   CytatBo to właśnie moje rozwiązanie tongue.gif A T...   30.05.2012, 17:49:58
- - !*!   CytatPonieważ w każdej aplikacji którą tworzę za k...   30.05.2012, 18:30:19
- - Dipter   CytatWłaśnie, w Twojej wink.gif Zapytałeś, dostał...   30.05.2012, 19:39:25
- - !*!   CytatJak można nauczyć się zasad jakiegokolwiek ko...   30.05.2012, 19:59:54
- - Spawnm   Dąży, user !*! wyjaśnił ci że włąsny FW za...   30.05.2012, 20:03:15
- - marcio   Zgadzam sie w 100% ze @Spawn i @!*! nie wa...   31.05.2012, 14:13:18
- - Walian   Celowo nie zaglądałem do tego wątku, bo wiedziałem...   1.06.2012, 11:48:26
|- - irmidjusz   Cytat(Walian @ 1.06.2012, 12:48:26 ) ...   1.06.2012, 19:09:28
|- - !*!   Cytat(irmidjusz @ 1.06.2012, 20:09:28...   1.06.2012, 20:41:43
- - Spawnm   Cytat- Wykorzystywanie modeli w widoku i na odwrót...   1.06.2012, 12:02:15
- - !*!   CytatTak jest chyba tylko na polskich forach. Na z...   1.06.2012, 17:29:36
- - Walian   CytatDla mnie najwygodniejszym rozwiązaniem jest, ...   1.06.2012, 21:47:22
|- - irmidjusz   Cytat(Walian @ 1.06.2012, 22:47:22 ) ...   3.06.2012, 12:36:27
- - Dipter   Co do pierwszego postu napisałem mały mechanizm ja...   1.06.2012, 22:44:50
- - !*!   Ostatnio rozmyślam nad czymś takim... Wszytko opie...   3.06.2012, 13:02:04
- - marcio   Cytat(!*! @ 3.06.2012, 14:02...   3.06.2012, 14:42:45


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 18.10.2025 - 11:42