Obiektowa struktura newsów |
Obiektowa struktura newsów |
6.01.2008, 21:17:06
Post
#1
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 20.05.2007 Ostrzeżenie: (0%) |
Witam wszystkich
Jestem nowicjuszem jeżeli chodzi o obiektowoś. Mam problemy z dobraniem odpowiedniego stylu w skryptach. Nie do końca wiem jaką strukturę mają miec klasy i kod. Mam klasę newsy - do wyswietlania aktualnosci Jest też klasa Database - do obslugi Mysql Tworze skrypt do wyswietlania newsów: -pobiera zmienne z pliku config.php oraz z adresu -łączy z baza danych -przekazuję do obiektu news wszystkie potrzebne dane i pobieram tablicę z gotowymi newsami -wyswietlam newsy w szablonie Nie wiem dokladnie jak to wszystko ma byc powiazane - jak przekazywac zmienne, jak do obiektu $news przekazywac obiekt $bazy danych itd. Wiem że to zależy od indywidualnego stylu ale chodzi mi o naprowadzenie, blizsze wyjasnienie jak to poukladac. Z góry Dzięki
I Czy dla każdego obiektu który wykonuje zapytania muszę przekazywac do konstruktora lub funkcji obiekt bazy danych? Sorry - zapomniałem wkleic klasy newsy. Ten post edytował janusz.master 6.01.2008, 21:57:25 |
|
|
6.01.2008, 21:22:13
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 459 Pomógł: 6297 Dołączył: 27.12.2004 |
Cytat Jestem nowicjuszem jeżeli chodzi o obiektowoś. Sądząc po kodzie jaki pokazales, nie tylko z obiektowości jestes nowicjuszem nie: $tablica[index] = .... a: $tablica['index'] = .... W twoim kodzie generowana jest masa noticów, ale pewnie ich nie widzisz bo masz wyłączone ich pokazywanie. Cytat I Czy dla każdego obiektu który wykonuje zapytania muszę przekazywac do konstruktora lub funkcji obiekt bazy danych Od biedy można tak. Ale można tez skorzystac ze wzorców projektowych takich jak: REJESTR, SINGLETON.Ja osobiscie korzystam z rejestru. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
6.01.2008, 21:58:00
Post
#3
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 20.05.2007 Ostrzeżenie: (0%) |
Co do pierwszej części:
$tabela[nazwa] widziałem w jakimś innym skrypcie, odpaliłem na domowym serwerze, oraz na paru serwerach internetowych i chodziło. Możesz sam sprawdzic. a jesli chodzi o noticy to co dokladniej?? |
|
|
6.01.2008, 22:07:00
Post
#4
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 51 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) |
Chodzi o to że error_reporting masz ustawione zapewne na "E_ALL & ~E_NOTICE", w skrypcie wpisz:
Wtedy będą pokazywane wszystkie błędy, w tym notatki. -------------------- |
|
|
6.01.2008, 22:33:31
Post
#5
|
|
Grupa: Moderatorzy Postów: 36 459 Pomógł: 6297 Dołączył: 27.12.2004 |
Cytat Co do pierwszej części: Ja wiem ze to chodzi. Ja powiedzialem ze dostajesz noticy z tego powodu a nie ze nie chodzi. To ze widziales to w innych skryptach nie znaczy ze to jest dobrze a uwierz mi na slowo ze jest źle. Źle w sensie ze wali ci noticy co juz jest nieprawidlowe. A jak zobaczyc te noticy to juz ci kolega wyzej napisal
$tabela[nazwa] widziałem w jakimś innym skrypcie, odpaliłem na domowym serwerze, oraz na paru serwerach internetowych i chodziło. Możesz sam sprawdzic. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
6.01.2008, 22:43:16
Post
#6
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 20.05.2007 Ostrzeżenie: (0%) |
OK. Znalazlem cos o error_reporting i teraz widze :].
Zobaczylem prostszą strukturę bez cudzysłowów i odrazu poszedłem na łatwiznę. W każdym razie dzięx za nawrócenie ze złej drogi |
|
|
7.01.2008, 20:29:59
Post
#7
|
|
Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) |
Programowanie obiektowe to nie tylko grupowanie funkcji w klasy - to cala filozofia, ktorej w Twoim skrypcie nie ma.
Jezeli chcial bys stworzyc obiektowe newsy to popierwsze musisz miec swiadomosc tego jakie obiekty w nim wystepuja. News - klasa zawierajaca wlasciwosci takie jak tytul, tresc, date utworzenia etc. Lista newsow (iterator) - kolekcja newsow Powyzsze elementy odnosza sie do "modelu" (warstwy bazy danych) we wzorcu MVC, potrzeba nam wiec jeszcze kontrolera do przekazywania wywolan. Akcji wyzwalanych przez kontroler, po np. wcisnieciu zapisz newsa. Akcji glownej listujacej newsy. Warstwy widoku, do ktorego przekazywana zostaje lista newsow, a tam juz wyswietlana. To co zaprezentowales to tylko wykorzystanie funkcji PHP - funkcji obiektowych: klasy, metody, obiekty. Ale nie jest to rownoznaczne z programowaniem zorientowanym na obiekty (OOP). Ten post edytował Seth 7.01.2008, 20:32:52 |
|
|
27.01.2008, 22:55:32
Post
#8
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 20.05.2007 Ostrzeżenie: (0%) |
Wiem że temat stary, ale mam pytanie odnośnie wspomnianych powyżej obiektów Data Object oraz Data Access Object.
Mam np klasę news zawierającą tylko czyste dane. Oraz listę newsów wykonującą Add, Remove, Update, Get. I teraz pytanie czy nie powinienem tego rozbijac na 3 obiekty? NewsData-dane, News extends NewsData-funkcje związane z konkretnym newsem(pobierz komentarze etc), oraz NewsBase-funkcje zwiazane z listą newsów- Remove, Add, Update, Get etc. Jak jest lepiej i jak powiązać te 3 elementy?? News ma dziedziczyć właściwości po NewsData, czy może zapisywać do zmiennej obiekt NewsData |
|
|
Wersja Lo-Fi | Aktualny czas: 30.04.2024 - 10:11 |