Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wykonanie paru konstruktorów bez parent::__construct()
Forum PHP.pl > Forum > Przedszkole
hausner15
Witam,
Mam mały problem.

Otóż mam klasę i klasę dziedziczącą po niej.
W obydwu klasach są konstruktory, i chciałbym aby wykonały się obydwa.
I teraz najważniejsze - chciałbym aby wykonały się one obydwa, ale bez używania w klasie która dziedziczy
  1. parent::__construct();


Czy jest w ogóle taka możliwość?

Poniżej przykładowy kod dla zobrazowania:
  1. class a {
  2. function __construct() {
  3. \\Robię coś
  4. }
  5. }
  6.  
  7. class b extends a {
  8. function __construct() {
  9. parent::__construct(); //To ma się wykonać ale bez tej linii :)
  10. \\Robię coś innego
  11. }
  12. }


wookieb
Nie ma takiej możliwości. Ale dlaczego chcesz mieć taki efekt?
hausner15
Ponieważ mam konstruktor w klasie bazowej który wyświetla komunikat przypominający użytkownikowi o pewnej rzeczy.
Użytkownik ma mieć możliwość tworzenia klas pochodnych od tej, ale nie chce aby musiał za każdym razem dla klasy pochodnej dodawać parent::__construct().

No nic poradzę sobie w inny sposób.

Dzięki, pozdrawiam!
wookieb
Więc w takim razie rób coś takiego
  1.  
  2. class base
  3. {
  4. public function __construct()
  5. {
  6. $this->init();
  7. }
  8.  
  9. protected function init()
  10. {
  11.  
  12. }
  13. }
  14.  
  15. class test extends base
  16. {
  17. protected function init()
  18. {
  19. // i tutaj umieszczaj kod , który ma być wywoływane razem z konstruktorem
  20. }
  21. }


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.