Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wykrycie w konstrukturze czy został stworzony obiekt rodzica bezpośrednio
Forum PHP.pl > Forum > PHP > Object-oriented programming
markonix
Sprawa dość prosta ale nie umiem dobrze skonstruować pytania i znaleźć odpowiedzi..

Klasa parent.

Klasa child.

W parent jest konstruktor i w nim chciałbym się dowiedzieć czy został utworzony obiekt parent new parent() bezpośrednio czy child, który rozszerza parent - new child().

W klasie child jest oczywiście parent::__construct(); i jedyne co mi przychodzi do głowy to przekazywanie parametru ale chciałbym tego uniknąć (chciałbym nie modyfikować już istniejących klas potomnych).
vonski
Nie wiem czy dobrze zrozumiałem, ale może zwykłe get_class Ci wystarczy?

  1. class A
  2. {
  3. public function __construct()
  4. {
  5. echo 'jestem: ' . get_class($this);
  6. }
  7. }
  8.  
  9. class B extends A
  10. {
  11. }
  12.  
  13. class C extends A
  14. {
  15. }
  16.  
  17. $a = new A(); // jestem: A
  18. $b = new B(); // jestem: B
  19. $c = new C(); // jestem: C
markonix
O to chodziło dokładnie
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.