![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 561 Pomógł: 3 Dołączył: 2.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam, chciałbym się dowiedzieć jak najlepiej zbudować strukturę klas tzn. przedstawię 3 wersje i chciałbym się dowiedzieć, która z nich odpowiada standardom lub jest najlepsza do wykorzystania w projektach.
Wersja A class.php
komentarze.php
wersja B class.php
komentarze.php
wersja C jest podobna do wersji b z tym że zmienia się plik komentarze.php
Jeśli tu powinno być zupełnie coś innego to też napiszcie, chcę się nauczyć jak budować struktury klas, dlatego liczę na Waszą pomoc, z góry dziękuję i pozdrawiam. Ten post edytował neo1986kk 19.11.2011, 21:34:12 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 5 Dołączył: 26.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
wybieram opcje D, czyli zupełnie coś innego
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 561 Pomógł: 3 Dołączył: 2.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
swietnie, a możesz ją przedstawić czy się zgrywasz?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 5 Dołączył: 26.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
za Ciebie pisać nie będę. Możesz się wzorować na tym wpisie http://blog.fedecarg.com/2009/03/11/domain...-architectures/
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 561 Pomógł: 3 Dołączył: 2.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 5 Dołączył: 26.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Ja bym napisal 2 klasy. Repozytorium - operacje CRUD i inne zapytania do bazy danych i Encje przechowujaca dane.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 561 Pomógł: 3 Dołączył: 2.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
brniesz za daleko, ja wiem że do zapytań można utworzyć nową klasę, ale nie o to mi chodzi, chodzi mi o samą strukturę a najbadziej o to czy tworzyc nowe klasy czyli
$klasa=new klasa $a=a; $klasa=new klasa $a=b; itd... czy dac $klasa = new klasa; while($row=mysql_fetch_row($sql) { $a=$row[0]; } |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Twórz nowe klasy które będą specjalizować tylko w określonych działaniach. Komentarze to powiedzmy jest jedno takie działanie, pobieranie komentarzy, pobieranie jednego wiersza, kasowanie, aktualizowanie, dodawanie czyli crud (create, read, update, delete) o którym wyżej napisał mój przedmówca. Newsy, artykuły, użytkownicy, sesje, baza danych. To wszystko to są osobne obiekty, każdy z nich robi co innego i za co innego jest odpowiedzialny. Tak więc pierwszy przykład w pierwszym poście jest w miarę poprawny, nie licząc tej bazy danych
![]() EDIT: chyba rozumiem o co ci chodzi w ostatnim poście. Tak więc zrobiłbym to mniej więcej tak: Kod <?php class Komentarze { protected $database; public function __construct(Database $database) { $this->database = $database; } public function findComentBy(array $criteria) { return $this->database->select()->from('coments')->where($criteria)->get(); } } $newsComent = new Komentarze($polaczenieBazyDanych); echo '<pre>'.print_r($newsComent->findComentBy(array('kategoria' => 'newsy', 'id' => 'id_newsa'))).'</pre>'; Czyli swoje kryteria wyszukiwania komentarzy podajesz w parametrze. Możesz nazwać te metody inaczej (getComent przykładowo), tutaj to jest tylko przykład. Ten post edytował by_ikar 20.11.2011, 01:20:59 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 16.07.2025 - 12:32 |