ФорумПрограммированиеPHP для идиотов → получить контекст выхзова

получить контекст выхзова

  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 22 марта 2010 г. 20:40

    Ну я хочу что-то типа такого: ф-ция F была выхвана из метода M. Без разбора backtrace, может какие-то стандартные ср-ва есть для этого?
  • Ewg777

    Сообщения: 510 Репутация: N Группа: Джедаи

    Spritz 22 марта 2010 г. 21:06, спустя 25 минут 54 секунды

    Чем backtrace не устроил?
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 22 марта 2010 г. 21:07, спустя 53 секунды

    <?php
    function debugBacktrace($return=false, $html=true, $showFirst=false)
    {
       $d = debug_backtrace();
       $out = '';
       if ($html) $out .= "<pre>";
       foreach ($d as $i=>$r) {
           if (!$showFirst && $i==0) {
               continue;
           }
           // sometimes there is undefined index 'file'
           @$out .= "[$i] {$r['file']}:{$r['line']}\n";
       }
       if ($html) $out .= "</pre>";
       if ($return) {
           return $out;
       } else {
           echo $out;
       }
    }
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 22 марта 2010 г. 21:20, спустя 12 минут 34 секунды

    мне кажется, что делать это через backtrace - wrong way. Есть какие-то встроенные методы. Если нету - то и хер со всей затеей.

    А зачем я это хотел:
    есть к примеру cache и cache_apc, cache_file. Я хочу запретить создание инстанции cache_apc в обход cache, но что бы при этом cache_apc не наследовал cache
  • vasa_c

    Сообщения: 3131 Репутация: N Группа: в ухо

    Spritz 22 марта 2010 г. 22:27, спустя 1 час 7 минут 26 секунд

    Встроенные методы есть - debug_backtrace(). :)

Пожалуйста, авторизуйтесь, чтобы написать комментарий!