![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Właśnie zaczynam pisać jajko dla systemu aukcyjnego. Jestem świadom tego, że serwis będzie obciążony i dlatego chcę możliwie najlepiej rozwiązać kwestię jądra. Przy wcześniejszych projektach używałem silnika napisanego strukturalnie podpartego smarty.
Chcę stworzyć główną klasę 'VenteSystem', która będzie odpowiedzialna za połączenie z bazą danych oraz załadowanie error handlera i smarty. Jej kod wygląda tak:
Teraz w kodzie strony głównej mam
Kod klasy auction wygląda tak:
Całość (oprócz administracji) będzie obsługiwana przez stronę główną przy użyciu mod_rewrite. Serwer jest tak skonfigurowany, że url powinen być w postaci: vente.pl/wyraz/liczba[/dodatkowe parametry]. Nie jestem pewien czy takie rozwiązanie jest poprawne. Oczywiście nie byłoby problemu z przerobieniem switch na if( file_exists() ), dodania. Czy wszystko ma realizować jądro. Czekam na Wasze opinie i rady, za każdą będę wdzięczny. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
nbie chce mi sę teraz wiecej pisać - dlatego powiem tylko:
wielkim switchom mówimy NIE. odpowiedzią jest MVC |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Pisałem przecież, że można zastąpić switch warunkiem
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 180 Pomógł: 0 Dołączył: 24.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(splatch @ 2004-10-20 20:13:47) Pisałem przecież, że można zastąpić switch warunkiem A nie lepiej zrobić wszystko według wzorca MVC tak jak pisał DeyV?? Będzie łatwiej tym zarządzać, bo podejrzewam, że system będzie sporawy. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
A co w tym projekcie jest niezgodne z MVC? Jest kontroler, jest akcja i jest widok (smarty). Teraz zostaje tylko kwestia odpowiedniego połączenia modułów, o tym niestety nie napisaliście. Pisanie, żeby skorzystać z wzorca bez dania przykładu nic mi nie daje. Znam tylko podstawy MVC i staram się to na tej zasadzie zrobić, chociaż mogę mylić pojęcia..
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 180 Pomógł: 0 Dołączył: 24.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Czytałem ten tekst, szukałem na forum i ostatecznie uciekłem się do pomocy starego znajomego (dzięki bora (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ). Wyjaśnił mi nieco zasady MVC i przy jego pomocy napisałem nowy szkielet, co prawda nie jest to nic specjalnego, ale jest. Oto nowy kod, jeśli widzicie w nim jakieś błędy poza złym użyciem :: to piszcie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) .
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 180 Pomógł: 0 Dołączył: 24.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
Powinno być raczej $Controller a nie $controll ;-). Ja to troszkę inaczej skonstruowałem.
Ten post edytował dag 22.10.2004, 15:22:45 |
|
|
![]()
Post
#9
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
@dag: nie chwal sie, tylko powiedz jak
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Dlatego mnie wkurza to forum - są odpowiedzi, czasami nawet dużo, ale 0 konkretów. Pytam o opinie i rady. Dostaje w odpowiedzi switchom wielkim nie i skierowanie do MVC, przedstawiam kod oparty o wcześniej wspomiany wzorzec i co dostaje w odpowiedzi.. ? Jak narazie "Ja to troszkę inaczej skonstruowałem." (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)
|
|
|
![]()
Post
#11
|
|
Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
spokojnie - nie stresuj się - szkoda serca. (a o zdrowie trzeba dbać..)
Co do twojego pomysłu - uważam że idziesz w dobrym kierunku, co zaowocuje mechanizmem znacznie elastyczniejszym i przenośnym, niż switch. Proponowałbym tylko, by odrazu zaimplementować w nim 2 dodatkowe mechanizmy. 1. to wyciąganie odpowiedniego pliku z klasą akcji, i dopiero wtedy uruchamianie jej. Oznacza to, że w kodzie
nazwa uruchamianej akcji będzie musiała być podawana dynamicznie, po uprzednim przekonaniu się, czy odpowiedni plik i wybrana klasa istnieją. 2. dopisanie tzw. routera, czyli mechanizmu potrafiącego rozpoznać i zwrócić informacje o tym, jaką akcje chce użytkownik. Dodatkowo - pisząc w oparciu o MVC warto zachować się dokładnie do zaleceń, i np. nie pozwalać sobie nigdy na pracę z bazą danych poza modelem, a do Requesta odwoływac się tylko w akcjach. Zapewnia to znacznie bezpieczniejszy i łatwiejszy do utrzymania kod. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 180 Pomógł: 0 Dołączył: 24.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
Nie mogłem znaleźć aktualnego projektu w UML, więc dam "trochę" CHAOTYCZNĄ wersję.
Wprowadziłem template. Jest to pierwsza faza jego projektowania więc jest mocno uogólniony. image ~60 KB - 1306x876px to samo co wyżej, tylko ~37 KB - 1000x671px PS. Przepraszam za ten projekt, jest MOCNO niezgodny ze standardami UML, ale innego w tej chwili nie mam. Eh, aż sam się dziwię, że coś rozumiem z tego wykresu ;-) podąrzajcie za strzałkami, jeśli jest <<extends>> to nie musi się zawsze tego wykonywać. Co sądzicie? Ten post edytował dag 22.10.2004, 21:21:44 |
|
|
![]()
Post
#13
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
@dag: a gorzej już się nie dało narysować (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ?
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 180 Pomógł: 0 Dołączył: 24.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
Zaraz przerysuje ;-) Pisałem, że to jest stare i chaotyczne...
EDIT: MVC Ten post edytował dag 22.10.2004, 23:01:03 |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Ja odnosze wrazenie - ze mamy tu dyskusje o MVC - z drugiej strony odnosze wrazenie ze pisanie systemu aukcyjnego jest podobne do systemu zarzadzania trescia tyle ze iwkeszej ilosci powiazan - idee co do podstaw jadra sa chyba takie same. Piszemy inne moduly, troche wicej powiazan i tyle.
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 180 Pomógł: 0 Dołączył: 24.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
Heh nie zrozumieliśmy się.
Chodzi o to, że radzę Ci zrobić system aukcyjny w oparciu o framework zgodny ze wzorem MVC. Wtedy tylko robisz widoki, modele i akcje odpowiedzialne za aukcje. Potem dorabiasz tak samo CMS i masz gotowy i dość łatwy w utrzymaniu kod. |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Poprawiłem nieco całość. Za jakiś czas wrzucę schemat ralacji.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.09.2025 - 04:27 |