Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: przemysleń slow kilka
Forum PHP.pl > Forum > PHP
ActivePlayer
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 ?smile.gif
ebe
No ale co w tym odkrywczego biggrin.gif ktoś w php pro nawet poruszył temat, że apache może pełnić rolę kontrolera i pełni, przecież w prostych rzeczach używa się takiego czegoś o czym napisałeś najzupełniej naturalnie, a że to jest oparte o schemat mvc to nic dziwnego, bo mvc idelanie pasuje do zastosowań w www.
ActivePlayer
więc dlaczego panuje opinia ze programowanie strukturalne + mvc to sprzeczności?
ennics
programowanie strukturalne ogólnie budzi wiele sprzeczności.
hwao
Cytat(ennics @ 2005-11-25 13:43:38)
programowanie strukturalne ogólnie budzi wiele sprzeczności.

to wogole da sie tak programowac snitch.gif winksmiley.jpg

Co do tego, to praktycznie wszedzie mozna wyobdebnic te 3 "skladniki"... poniewaz nawet maluch jest samochodem ale gdzie mu do porshe.

Sterowanie, karoseria, silnik to laczy wszytkie auta nie wazne jak sie je zbuduje, ale inne sposoby sa duzo lepsze (np moza wybierac z posrod silnkow paru wersji, alufelgi, uklad sterowania). Dlatego ciezko cos nazwac czyms.. mozna powiedziec ze cos jest czyms ale odrazu widac roznice miedzy maluchem a Maybachem...


---

Ps: widział ktos strukturalnego framework'a ?smile.gif
Ociu
blink.gif Nikt (z tego co wiem) nie pisał, że MVC bez OOP się nie obejdzie dry.gif .Teraz sam stwierdź, czym jest użyteczniej: obiektowo czy strukturalnie
pozdrawiam happy.gif
ennics
Cytat
Nikt (z tego co wiem) nie pisał, że MVC bez OOP się nie obejdzie

pewnie że można się obejść bez OOP, tak samo jak można się obejść bez hamulców w maluchu (serio).
Częste sa opinie że "to samo da się w php4, strukturalnie", ale prawda jest taka że niektórych rzeczy nie da się wykonać bez OOP.
W php5 jest szybciej, lepiej i użyteczniej.
ActivePlayer
Cytat
Sterowanie, karoseria, silnik to laczy wszytkie auta nie wazne jak sie je zbuduje, ale inne sposoby sa duzo lepsze (np moza wybierac z posrod silnkow paru wersji, alufelgi, uklad sterowania). Dlatego ciezko cos nazwac czyms.. mozna powiedziec ze cos jest czyms ale odrazu widac roznice miedzy maluchem a Maybachem...


ale maluch mniej pali... ogolnie jestem przeciwnikiem strzelania z zarmaty do muchy, i to chyba tutaj jest problematyka... zakladam ze jestem przecietnym php userem ktory musi sprzedac wykonana przez siebie strone www. Wtedy glownie zalezy na czasie pracy nad projektem. i byc moze cos ze mna nei tak, ale ja nie widze zeby obiektowo bylo szybciej <hmmm> ?
NuLL
[OT]Ostatnio zauwazylem ze strukturalnie pisac juz nie umiem biggrin.gif[/OT]

IMHO Programowac strkturalnie to mozna ksiege gosci czy sonde - chyba biggrin.gif
ennics
Cytat
jestem przecietnym php userem ktory musi sprzedac wykonana przez siebie strone www
albo robisz na ilość albo na jakość.
ActivePlayer
Cytat(ennics @ 2005-11-25 17:21:02)
Cytat
jestem przecietnym php userem ktory musi sprzedac wykonana przez siebie strone www
albo robisz na ilość albo na jakość.

a czym sie dla odbiorcyt rozni ten sam serwis napisany obiektowo od strukturalnego? tu nie chodzi o ilosc czy jakosc, tylko o najzywklejsza kase... przeciez od dawna wiadomo ze im szybciej tym wydjaniej, taniej itd... a jezeli są 2 identyczne produkty, a jeden wykonany szybciej to chyba jasne co sie bardziej oplaca

no chyba ze wasze oop enginy maja zamimplementowane
  1. <?php
  2. $page = new PageFromMyDream();
  3. $page->run();
  4.  
  5. ?>

smile.gif
ennics
blink.gif
Cytat
tu nie chodzi o ilosc czy jakosc, tylko o najzywklejsza kase... przeciez od dawna wiadomo ze im szybciej tym wydjaniej
a więc tu chodzi o kase... no tak.. w sumie jak zawsze, ale nie uważasz że to trochę krótkowzroczne ?
Np. ja bym Cię nie zatrudnił. Bo gdybym miał firmę, wymagałbym od Ciebie programów które spełniają NORMY JAKOŚCI, jakiekolwiek.
Życzę powodzenia na rynku...



Fatal error: Class PageFromMyDream contains 1 abstract methods and must therefore be declared abstract (Quality::Good_Quality) in /var/www/test.php on line 7
ActivePlayer
a wykonując najzwyklejsze strony www ? jakies wizytówki, prosty sklep, lub cokolwiek innego?
NuLL
Wszystko mozna napisac na klasach - chocby i nawet b.prostych.
hwao
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 smile.gif

Ps.: mogłem gdzieś popełnić jakiś błąd jak ktoś widzi niech da znać.
Ociu
Cytat(ActivePlayer @ 2005-11-25 18:37:56)
a czym sie dla odbiorcyt rozni ten sam serwis napisany obiektowo od strukturalnego? tu nie chodzi o ilosc czy jakosc, tylko o najzywklejsza kase... przeciez od dawna wiadomo ze im szybciej tym wydjaniej, taniej itd... a jezeli są 2 identyczne produkty, a jeden wykonany szybciej to chyba jasne co sie bardziej oplaca
smile.gif

Odbiorce obchodzi wynik i jakość Twojej pracy. Masz czas 2 tygodnie i on chce widzieć wynik Twojej pracy w najlepszym wykonaniu.

Cytat(ActivePlayer @ 2005-11-25 18:37:56)
no chyba ze wasze oop enginy maja zamimplementowane
  1. <?php
  2. $page = new PageFromMyDream();
  3. $page->run();
  4.  
  5. ?>

U mnie tak:
  1. <?php
  2. $CORE = new Core();
  3. $CORE->addClass('URLManager');
  4. $CORE->addClass('eDB', THRORIN_DB);
  5. $CORE->addClass('HttpResponse');
  6. $CORE->addClass('HttpRequest');
  7. $CORE->addClass('Application');
  8. $CORE->get('Application')->run();
  9.  
  10. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.