За последние 24 часа нас посетили 17463 программиста и 1723 робота. Сейчас ищут 1497 программистов ...

Узнать внутри метода имя класса объект которого его вызывает

Тема в разделе "PHP для новичков", создана пользователем D.Lans, 28 июл 2010.

  1. D.Lans

    D.Lans Активный пользователь

    С нами с:
    31 июл 2006
    Сообщения:
    345
    Симпатии:
    0
    PHP:
    1.  
    2. <?php
    3. class a {
    4.     public function aa() {
    5.         // THIS PLACE
    6.     }
    7. }
    8. class b {
    9.     public function bb() {
    10.         $aaa = new a();
    11.         $aaa->aa();
    12.     }
    13. }
    14.  
    15. $bbb = new b();
    16. $bbb->bb();
    17.  
    18. ?>
    19.  
    То есть в месте, отмеченном THIS PLACE узнать, что метод aa() был вызван объектом класса b.
    Можно ли без дополнительных манипуляций вроде передачи имени класса через параметр?

    Просто это неудобно в случае с обнаружения того, кто вызвал, внутри методов __set() и __get()
     
  2. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Класс не должен знать, кто его вызывает. Не программируете бред.
    Узнать кто вызвал можно через debug_backtrace.
     
  3. D.Lans

    D.Lans Активный пользователь

    С нами с:
    31 июл 2006
    Сообщения:
    345
    Симпатии:
    0
    Хорошо.