Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Programowanie obiektowe
Forum PHP.pl > Forum > Przedszkole
Woytek950
Witam. Zaczynam uczyć sie programować obiektowo w PHP i w związku z tym moja prośba. Czy ktoś mógł by mi napisać prosty skrypt ilustrujący użyteczność PO w php&mysql, poprzez jakieś zapytanie czy coś.
blooregard
  1. class User {
  2. private $id = 0;
  3.  
  4. public function __construct($id) {
  5. $this->id = (integer)$id;
  6. }
  7.  
  8. public function getUserData() {
  9. $query = "SELECT * FROM users WHERE user_id = '".$this->id."'";
  10. $result = mysql_fetch_assoc(mysql_query($query));
  11. return $result;
  12. }
  13. }//
  14.  
  15. $user = new User(1);
  16. $userData = $user->getUserData();
Woytek950
Metoda construct definiuje nam id? czyli obsłużymy ją tak:
  1. $user = new User();
  2. $user->construct(1);
  3. $userData = $user->getUserData();
  4.  
  5. echo $userData;


Chyba robię postępy... Piszę własnego cms i dlatego też chciałem się nauczyć PO. Stanąłem w miejscy systemu (wyświetlania) newsów, nie wiem jak się zabrać za to, i jak napisać klasę.
blooregard
Cytat
Metoda construct definiuje nam id? czyli obsłużymy ją tak:

__construct to metoda wywoływana automatycznie w momencie utworzenia obiektu (tzw. konstruktor). Możesz w niej m.in. zainicjalizować składowe klasy czy wykonać inne czynności, które powinny zostać wykonane w momencie powołania obiektu "do życia" Akurat w tym przykładzie użyłem tej możliwości do zainicjalizowania składowej klasy $id.
Więc Twój zapis jest pozbawiony sensu i w momencie wykonania takiego skryptu powinieneś otrzymać komunikat błędu o odwołaniu się do nieistniejacej metody w klasie User.

http://pl2.php.net/manual/en/language.oop5.decon.php

BTW, w moim poprzednim poście był błąd, który poprawiłem smile.gif

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.