Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [skrypt][PHP]Kawałek kodu do oceny
Ojcov
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 4.04.2015

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


Witam, jestem początkującym programistą PHP (samoukiem). Ponieważ uważam że najlepiej uczy się wykonując praktyczne zadania stworzyłem sobie projekt który poniekąd jest mniej rozbudowaną wersją pewnego serwisu. Szablon strony tworzę w bootstrapie. Chciałbym przedstawić kawałek kodu który stworzyłem i poprosić o to aby znawcy programowania obiektowego na tym forum wypowiedzieli się na ten temat, czy ten kod który napisałem mogę nazwać OBIEKTOWYM oraz o ewentualne porady dotyczące modyfikacji tego co napisałem.

W tym wszystkim chodzi o to aby do bazy danych można było dodawać książki a potem na swoim profilu dodawać je do ulubionych, na półki typu przeczytane, posiadam, chcę przeczytać itd. Na stronie głównej natomiast chcę wyświetlać 5 ostatnio dodanych (przez użytkowników) książek do bazy (okładka, tytuł, autor oraz opis) tak jak widoczne jest to na zdjęciu (zmieściły się tylko 3).

(IMG:http://imageshack.com/a/img673/3348/hhMjX0.png)

Tutaj prezentuję kod klasy stworzonej do pobierania rekordów z bazy i wyświetlania ich na stronie.
  1. class LatestBooks{
  2. private $tytul;
  3. private $autor;
  4. private $opis;
  5. private $sciezka;
  6. private $num;
  7. private $pdo;
  8.  
  9. public function __construct($num, $pdo ){
  10. $this->num = ($num - 1);
  11. $this->pdo = $pdo;
  12. }
  13.  
  14. public function getData(){
  15. $stmt = $this->pdo->query('SELECT * FROM `books`ORDER BY id DESC LIMIT 5 ');
  16. $row = $stmt->fetchAll(PDO::FETCH_ASSOC);
  17. $this->tytul = $row[$this->num]['tytul'];
  18. $this->autor = $row[$this->num]['autor'];
  19. $this->opis = $row[$this->num]['opis']."...".'<button type="button" class=class="btn btn-inverse btn-xs">Więcej</button>';
  20. $this->sciezka = $row[$this->num]['sciezka'];
  21. $stmt->closeCursor();
  22.  
  23. }
  24.  
  25. public function write(){
  26. return "
  27. <div class=\"book col-md-12\">
  28. <div class=\"col-md-4\">
  29. <img src=". "{$this->sciezka}". " class=\"fotka\">
  30. </div>
  31. <div class=\"col-md-7 \">
  32. <h4>". "{$this->tytul}". "</h4>
  33. <p>Autor:". "{$this->autor}". "</p>
  34. <h5>". "{$this->opis}" ."</h5>
  35. </div>
  36. </div> ";
  37. }
  38.  
  39. }

A tutaj ten, odpowiedzialny za utworzenie obiektów i wywołanie metody.
  1. require('klasa.php');
  2. $pdo = new MyPDO();
  3. $book = new LatestBooks(1, $pdo);
  4. $book->getData();
  5. print $book->write();
  6. $book = new LatestBooks(2, $pdo);
  7. $book->getData();
  8. print $book->write();
  9. $book = new LatestBooks(3, $pdo);
  10. $book->getData();
  11. print $book->write();
  12. $book = new LatestBooks(4, $pdo);
  13. $book->getData();
  14. print $book->write();
  15. $book = new LatestBooks(5, $pdo);
  16. $book->getData();
  17. print $book->write();

Dziękuję z góry wszystkim którzy zechcą poświęcić czas na pomoc, mam nadzieję że wszystko objaśniłem jak najlepiej i podałem wszystkie niezbędne informacje. Ze swojej strony pragnę jeszcze dodać że jest to pierwszy raz kiedy napisałem coś (mam nadzieję) obiektowo.

Ten post edytował Ojcov 1.05.2015, 11:32:31
Powód edycji: [Kshyhoo]: bb-code
Go to the top of the page
+Quote Post

Posty w temacie


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: 9.10.2025 - 17:16