Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> przemysleń slow kilka, czyli MVC w kolejnym wydaniu ?
ActivePlayer
post
Post #1





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

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


zastanawialem sie ostatnio nad mvc i doszedlem do ciekawyh wniosków... jakis czas temu w php pro, poruszany bardzo często był temat mvc... powiedzial tez ktos ze implementacja strukturalna to jakas pomyłka... tak więc...

zaczne od przykladowej struktury katalogow i plikow:

Kod
..
/inc
/templates
init.php
index.php
forum.php


1. Warstwa kontrolera
Jako kontrolera uzywamy apache(lub innego serwera http) i naszych plikow w katalogu głównym(pomijając init.php, ktory powinien byc require only - uruchamiamy w nim rozne badzewia ktorych uzywamy, np db layer)

2. Warstwa modelu

Kod
inc/*.php


no i oto prosze mamy miejsce odpowiedzialne za tą oto warstwe, tam trzymamy all funkcje typu LogInUser() ForumGetPost() lub nawet MakeMyOwnSite($params) jesli tylko mamy inwencje zeby taką napisac.

3. Warstwa widoku

przykladowy index.php
  1. <?php
  2.  
  3. require_once('init.php');
  4.  
  5. // GetPostsFromDb(); uzywamy naszych modeli
  6.  
  7. $smarty->display('forum.htm');
  8.  
  9. ?>

i tu oto nasz widok. Smarty inicjalzujemy w init.php, a jesli przyjdzie nam ochota na wygenerowanie np. rssa to nic nie stoi na przeszkodzie zeby nie tworzyc obiektu smarty tylko cokolwiek innego.

Wyprowadzi mnie ktos z błędu ?(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
hwao
post
Post #2


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Po dzisiejszej lekturce (tłumaczenie ang->pl) na temat MVC stwierdzam ze wdrażanie tego nie na klasach, jest po prostu bezczeszczeniem tego wzorca. Uważam też, że nie można zrozumieć do końca jego zalet, jeżeli się ich samemu nie wprowadzi i odczuje na własnej skórze - nie mowie tu chociażby o php, w którym ma on oddzielać poszczególne warstwy aplikacji (warstwa logiczna, interfejs użytkownika, kontroler), gdyż nie da się zastosować w pełni modelu aktywnego, sposób działania php pozwala jedynie model pasywny (przynajmniej nie w pełnym słowa znaczeniu, aktywnym), ale w innych językach z GUI bardzo pięknie stosuje się tą myśl.

Co do poglądu, że można to wykonać na strukturalnie nie przeczę, ale masa tablic i funkcji rozrzuconych po plikach jakoś mnie nie kojarzy się najlepiej (chyba, że chcesz to pisać bez funkcji… ale to przecież nie możliwe, imho…).

Celem MVC jest rozdzielenie warstw jak już wyżej wspomniałem. Jeżeli nie chcesz tego stosować to nie musisz nikt Ci nie każe. Ja uważam to za bardzo dobre rozwiązanie pozwalające wprowadzać łatwe modyfikacje.

Na razie nie wypisuje, więc wole do końca przestudiować niż głosić jakieś błędne poglądy. :-) ActivePlayer jak chcesz mogę Ci podrzucić to, co mam na razie przetłumaczone na „polski”, kontakt jaki to wiesz (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ps.: mogłem gdzieś popełnić jakiś błąd jak ktoś widzi niech da znać.
Go to the top of the page
+Quote Post

Posty w temacie


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: 11.10.2025 - 02:47