Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Klasa news - czy to można nazwać OOP?
adriano321
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 1
Dołączył: 24.01.2007

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


Jestem dopiero co zaczynającym "programistą" (haha) PHP. Programowanie proceduralne nie sprawia mi już większych kłopotów więc chcę wkroczyć na wyższy poziom. Niestety same podstawy tj. teoria nie wystarczy, żeby napisać coś samemu czyt. dobrze napisać. Więc tu się zwracam z prośbą do Was: Czy to coś poniżej ma jakiś związek z OOP? I czy z własnych doświadczeń możecie coś zaproponować, jakieś rozwiązania dalsze?

Klasa ObsługaNewsa z założenia ma być dostępna tylko z poziomu panelu administracyjnego.

Kolejne pytanie:
Jak rozwiązać problem wyświetlania kilku newsów na jednej stronie? Utworzyć kilka egzemplarzy klasy News? Tu zastanawiam się jak zrobić to, aby wykonać tylko jedno zapytanie do bazy danych?

Czy można się w jakiś sposób pozbyć dodawania $db w parametrach metod??

  1. <?php
  2. class News {
  3.  
  4. public $id;
  5. public $tytul;
  6. public $tresc;
  7. public $autor;
  8. public $data;
  9. public $kategoria;
  10.  
  11. function __construct() 
  12. {
  13. }
  14.  
  15. }
  16.  
  17. class ObslugaNews extends News { 
  18.  
  19. public function dodajNewsa ($db) 
  20. {
  21. $sql = "INSERT INTO `news` (`id` ,`title` ,`text` ,`date` ,`edit_date` ,`id_author` ,`id_kategory`) VALUES ('','$this->tytul','$this->tresc','$this->data','','$this->autor','$this->kategoria')";
  22.  
  23. if (@!$db->query($sql)) echo " z tego!";
  24. }
  25.  
  26. public function edytujNewsa ($id,$db) 
  27. {
  28. $sql="UPDATE `news` SET `title`=$this->tytul ,`text`=$this->tresc ,`edit_date`='aktualna_data' ,`id_kategory`=$this->kategoria WHERE `news`.`id`=$id LIMIT 1";
  29.  
  30. if (@!$db->query($sql)) echo " z tego!";
  31. }
  32.  
  33. public function pobierzNewsa ($id,$db) 
  34. {
  35. $sql="SELECT `id` ,`title` ,`text` ,`date` ,`edit_date` ,`id_author` ,`id_kategor
    y` FROM `news` WHERE id='$id' LIMIT 1"
    ;
  36.  
  37. if (@!$wynik=$db->query($sql)) echo " z tego!";
  38. $wynik = $wynik->fetch_array();
  39.  
  40. return $wynik;
  41. }
  42.  
  43. public function ustawNewsa ($tytul,$tresc,$kategoria) 
  44. {
  45. $this->tytul = strip_tags(ltrim(addslashes($tytul)));
  46. $this->tresc = strip_tags(addslashes(ltrim($tresc)));
  47. $this->kategoria = strip_tags(ltrim(addslashes($kategoria)));
  48. }
  49. }
  50. ?>


Adriano.
Go to the top of the page
+Quote Post

Posty w temacie
- adriano321   Klasa news - czy to można nazwać OOP?   11.02.2008, 18:32:10
- - Cysiaczek   Nie zniechęcaj się, ale to jest kod strukturalny u...   11.02.2008, 20:43:31
- - Whisller   @cysiaczek Ja osobiscie nie wstawiał bym pobierani...   12.02.2008, 14:10:14
- - Cysiaczek   Twoje jest bardzie oop ;] Tylkp, że mi przyświecał...   12.02.2008, 15:45:18
- - adriano321   ooo właśnie o to mi chodziło. Dzięki wielkie za pr...   12.02.2008, 16:47:31
- - Whisller   @adriano321 Możesz przekazać handler po...   12.02.2008, 17:43:46
- - adriano321   No to teraz zaprezentuję całą klas...   14.02.2008, 18:24:19
- - Whisller   @adriano321 1. Nie rób echo w metodzie klasy Bo d...   14.02.2008, 21:31:34
- - revyag   A nie byłoby czytelniej zamiast tych wszystki setC...   15.02.2008, 09:50:24
- - adriano321   Cytat1. Nie rób echo w metodzie klasy smile.gif Bo...   15.02.2008, 14:33:05
- - Black-Berry   Tak czytam i widzę, że siedzimy w tym samym temaci...   16.02.2008, 01:24:31
- - Cysiaczek   Można też tak, co pozwala na zachowanie interfejsu...   16.02.2008, 08:30:05
- - adriano321   Czy to jest dobrze? Albo raczej czy to jest zgodne...   16.02.2008, 12:37:55
- - Whisller   @revyag Jasne że można ale tylko wtedy gdy masz pe...   17.02.2008, 23:11:52
- - revyag   @Whisller ale ja nie podałem __set tylko set__ To...   18.02.2008, 12:28:43
- - Cysiaczek   Może i odrobinę wolniejsze, ale jak masz mieć 100 ...   18.02.2008, 17:09:06
- - Sedziwoj   Jak dla mnie te wszystkie magiczne metody robią bu...   20.02.2008, 10:56:20


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.12.2025 - 17:35