Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Closed TopicStart new topic
> Z kodu strukturalnego na obiektowy
Max Damage
post
Post #1





Grupa: Zarejestrowani
Postów: 246
Pomógł: 19
Dołączył: 14.06.2007

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


Cześć, zrobiłem sobie takiego prostego CMSa : http://mnemonic.freevar.com
Strona jest napisana strukturalnie z wykorzystaniem php, mysql, pdo, smarty, javascript i coś tam ajaxa.
Chciałbym ją teraz przepisać na obiektówke, tylko nie za bardzo wiem gdzie miałbym użyć jakiś klas, wzorców itp.
Bo tak naprawdę większość kodu php na stronie, to zapytania do bazy danych.

Od razu mówię,że nie chodzi mi o żadne tłumaczenia co to klasy itp. Raczej umiem pisać obiektowo, chociaż żadnych wzorców nigdy nie stosowałem. Chodzi mi jedynie jakie napisać klasy, z jakimi metodami, jak to porozdzielać na pliki i połączyć jakimiś wzorcami.

Na stronie używam teraz tylko dwóch klas. Do stronicowania, i do uploadu obrazków.
Login i hasło dla usera: test test

Co prawda strona nie jest zupełnie skończona, trzeba poprawić galerię i rejestrację (trochę się skopała przez ajaxa), ale mam chwilowo dość javascriptu ...
A tak w ogóle to jest to moja pierwsza strona, jeśli kogoś to dziwi patrząc na ilość moich postów, to cóż, większość z nich napisałem dawno mając pierwszy kontakt w programowaniem w ogóle : )
Go to the top of the page
+Quote Post
albrzykowski
post
Post #2





Grupa: Zarejestrowani
Postów: 40
Pomógł: 3
Dołączył: 5.02.2007

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


Witaj,

Wydaje mi się ( i pewnie wiele osób podzieli moje zdanie), że najlepiej byłoby spojżec na budowę popularnych frameworków. Tu odrazu jednak polecam Kohanę, ze względu na jej niewielkie rozmiary i szybką możliwości połapania się.

Ciężko byłoby wypisac Ci klasy oraz metody, bo to mogłoby zając wiele stron.

Moim skromnym zdanie najlepiej zacząc (opierając się o wzorzec MVC) od:

- Klasa do obsługi DB lub np sięgnięcie po PEAR DB i podobne,
- Kontroler (bardzo wiele przykładów),
- Klasa do obsługi widoków lub np. implementacja Smarty

Później możesz rozbudowywac do woli:

Obsługa parametrów HTTP, ruter, obsługa sesji, klasa zarządzająca użytkownikiem, uprawnienia, walidacja danych, własna implementacja obsługi wyjątków.

Swojego czasu "świat" obiegła wiadomośc, że w ramach nauki PHP młody chłopak napisał własną platformę blogową a mianowicie Hyrp. Kod jest naprawdę do ogarnięcia (jeżli dobrze pamiętam dwa kontrolery- front,admin) napisany w myśl MVC. Możesz więc śmiało sciągnąc i zobaczy kod gotowej aplikacji.

Pozdrawiam!
Go to the top of the page
+Quote Post
jareeny
post
Post #3





Grupa: Zarejestrowani
Postów: 226
Pomógł: 23
Dołączył: 2.10.2007
Skąd: Słupsk

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


Cytat(albrzykowski @ 28.10.2009, 00:22:22 ) *
Moim skromnym zdanie najlepiej zacząc (opierając się o wzorzec MVC) od:

- Klasa do obsługi DB lub np sięgnięcie po PEAR DB i podobne,
- Kontroler (bardzo wiele przykładów),
- Klasa do obsługi widoków lub np. implementacja Smarty


A moim skromnym zdaniem, Model to nie tylko baza danych. To jest lekko wprowadzanie w błąd.
Go to the top of the page
+Quote Post
albrzykowski
post
Post #4





Grupa: Zarejestrowani
Postów: 40
Pomógł: 3
Dołączył: 5.02.2007

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


OK,

Żeby nie brnąc w długą dyskusję chciałem przekazac to i wydaje mi się, że tu tkwi sedno:

http://wortal.php.pl/var/phppl/storage/ima...L/mvc_large.jpg
http://book.cakephp.org/img/basic_mvc.png
http://stannard.net.au/blog/media/simple-m...amework/mvc.gif

Pozdrawiam
Go to the top of the page
+Quote Post
mad/
post
Post #5





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 7.10.2009

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


Myślę, że mam pewien pomysł, proponuję najpierw zrobić klasę, która zbiera dane wejściowe:
$_GET
$_POST
$_SERVER
$_GET
$_POST
$_FILES
$_COOKIE
$_SESSION
$_REQUEST
$_ENV
i na ich podstawie określa, jaka podstrona będzie ładowana, potem klasa, która na podstawie danych wygenerowanych z poprzedniej klasy (np. tablica z listą plików potrzebnych do załadowana, takich jak ogólne szablony strony, zestaw instrukcji na temat pobierania danych przez PDO), dalej klasa, która jako argumenty konstruktora przyjmuje dane wygnerowane przez jedną z funkcji poprzedniej klasy i za pomocą DOM XML (klasa DOMDocument) gneruje finalny dokument XHTML.
PS. Jeśli chcesz korzystać z XHTML polecam dodać deklarację XML na początku dokumentu, a dla przeglądarek nIE obsługujących XHTML dzięki zawartości pola $_SERVER['HTTP_ACCEPT'] (znamy je dzięki pierwszej klasie, o której piszę), przygotować wersję HTML/RSS/TXT.
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #6





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Skoro napisałeś to raz, to nie teraz tego nie przepisuj, jeśli nie masz powodu (czyli jeśli serwis działa).
Cytat
Od razu mówię,że nie chodzi mi o żadne tłumaczenia co to klasy itp. Raczej umiem pisać obiektowo, chociaż żadnych wzorców nigdy nie stosowałem. Chodzi mi jedynie jakie napisać klasy, z jakimi metodami, jak to porozdzielać na pliki i połączyć jakimiś wzorcami.

Polecam jakąś książkę, bo jeśli nie wiesz jakie napisać klasy jak rozdzialać na pliki i jakimi wzorcami to łączyć, to ledwie raczkujesz w tej tematyce i nasze tłumaczenia Tobie podstaw projektowych to przesada. Na forum jest pełno tematów dotyczących konkretnych zagadnień i w jaki sposób do nich podejść od strony projektowej.

Zamykam
Go to the top of the page
+Quote Post

Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 16:09