| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > проследить за изменением переменной |
| Автор: Zorak 23.7.2014, 23:59 |
| Вопрос в принципе из разряда нереальных, но не написать както не удержался... Собсно вопрос: Можно ли как нибудь отследить изменения переменной в ходе выполнения PHP сценария посредством нативного кода ?? Обьясню по другому: Есть например некий клас class.debug.php. В классе есть метод GetInfo($variable), который возвращает всю полезную информацию о переменной $variable в виде массива... Вопрос таков: Можно ли например в месте появления переменной $variable однажды (!!!) передать ее в GetInfo(), а в конце выполнения PHP кода вывести историю ее изменения (отследить память например). Я не гвоорю про "где изменялась", "от чего изменилась" и все остальное, хотябы список значений, которые принимала переменная за время выполнение скрипта)... P.S. Просьба не критиковать мол "Что за опять за велосипед" и "Зачем такое вообще нужно", или "Для этого есть дебаг"... меня интересует именно то, что я спрашиваю. Спасибо большое! |
| Автор: krundetz 24.7.2014, 11:38 |
| Zorak, если необходимо отследить изменение состояния экземпляра класса, то смотрите в сторону шаблона проектирования Наблюдатель. Для него есть заготовки в SPL. Насчет отслеживания изменение состояния переменной встроенного типа, сказать ничего не могу, так как не требовалось. |
| Автор: Zorak 24.7.2014, 20:06 |
| krundetz, спасибо большое. Немного не то что нужно. Нужно именно переменной встроенного типа, но этого тож не знаю, так что УШол пока учится, смотреть и вникать) |
| Автор: Gold Dragon 20.8.2014, 18:03 |
| Zorak, извини конечно, но спрашу твоми словами: "А зачем это нужно"? суть вопроса простая: 1. Если такой механизм существовал бы, то я его вырубил бы на все 200%.. Только представь вести лог каждой переменной 2. Если ты не контролируешь свой код который выполняется на твоём сервере, то просто пора запускать антивирус или просто меняй логику своего проекта. 3. Ну уж если тебе преспичело то сделай так чтобф переменная изменялась через функцию/методы в которых ты може вести логи PS Вот если ты скажешь ЗАЧЕМ, то быстрее тебе дадут ответ. Но вести логи переменных - это глупо |