как узнать, объект какого класса вызвал метод?

drouZ

Новичок
На знал куда запилить топик, поэтому тут...

Есть, к примеру, код:
PHP:
class one{

   function funct1($some_args)
   {
       // узнать, название класса, в котором была вызвана
   }

}

class two{

    function somu_func()
    {
         $obj_one_instance->funct1($some_args);
    }
}
кроме debug_backtrace есть способы узнать название класса two? :huh:
мне что-то припомнились рефлекшены, но что-то мне подсказывает, что меня занесло...
 

drouZ

Новичок
мне, в общем - то да. а вот в классу - надо. Но спасибо, за развернутый ответ. приму к сведению.
 

AnrDaemon

Продвинутый новичок
Классу не надо знать, кто его вызывает. Его задача - отработать вызов, вернуть результат. Точка.
Если у тебя это не так, значит, классы ты простроил неправильно и надо всё стереть и вернуться к самому началу.
 

drouZ

Новичок
ясно. спасибо за теперь уже адекватный и развернутый ответ. Костыли лепить не хочу, как и вводить лишний параметр, но, видно, последнее сделать придется...
 

Adelf

Administrator
Команда форума
Явно что-то не так делаешь. Попробуй опиши что пытаешься сделать.
 

drouZ

Новичок
если вкратце, есть самопильный шаблонизатор, который работает по принципу {var} => "какое-то слово", в составе MVC концепции. экземпляр вьюхи 1 на все контроллеры, а их в среднем выходит не менее 5-6 за раз и каждый что-то в общий поток вписывает, просто я начал боятся, что рано или поздно может случится, что общий словарь будет перетираться модулями, поэтому решил сделать из словаря двумерный массив, в котором по названию подключаемого контроллера будет все разбито. Модули, просто, напилены уже, и я искал способ минимум изменить код. А так придется доп параметр вводить.
 
Последнее редактирование:
Сверху