Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [OOP] Pierwsze kroki
kitol
post
Post #1





Grupa: Zarejestrowani
Postów: 162
Pomógł: 26
Dołączył: 19.01.2007

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


Witam, chcę sobie stworzyć rozszerzenie klasy mysqli. To znaczy chcę stworzyć nową klasę która dziedziczyłaby z mysqli wszystkie metody i właściwości, niektóre ich przeciążając (zastępując własnymi). Na przykład funkcję query chciałbym rozbudować o obsługę błedów. Z kodu programu wywoływana byłaby standardowo $mysqli->query(), ale miałaby być wykonywana moja funkcja. Pogrzebałem trochę w manualu i skleciłem coś takiego:
  1. <?php
  2. class ExtendClass extends mysqli
  3. {
  4. public $mysql;
  5.  
  6. function __construct()
  7. {
  8. $this->mysql= new mysqli('***', '***', '***', '***');
  9. print('konstruktor');
  10. }
  11.  
  12. function displayServ()
  13. {
  14. echo &#092;nExtending class\n';
  15. echo $this->mysql->server_info;
  16. }
  17. }
  18.  
  19. $mysqli = new ExtendClass();
  20. $mysqli->displayServ();
  21. echo "\n\n\".$mysqli->server_info;
  22. ?>

niestety nie działa ostatnia linia ($mysqli->server_info).

Warning: main(): Couldn't fetch ExtendClass in D:\WWW\mysql_test.php on line 21

Wygląda na to że moja klasa nie dziedziczy z oryginalnej mysqli. Co robię źle?

Ten post edytował kitol 13.02.2008, 11:47:59
Go to the top of the page
+Quote Post

Posty w temacie
- kitol   [OOP] Pierwsze kroki   13.02.2008, 11:38:48
- - em1X   Na starcie już źle pojmujesz rozszerzanie klas. Dl...   18.02.2008, 17:56:31
- - Sedziwoj   Cytat(em1X @ 18.02.2008, 17:56:31 ) N...   20.02.2008, 12:17:15


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: 15.09.2025 - 03:08