Есть ли какой-либо способ в PHP узнать, где была инициализирована переменная или назначена значение для первого раза или где она была последней модификацией?Как узнать, где была инициализирована или изменена переменная
Я думаю, что это должно быть возможно знать, потому что PHP дает такой намек на ошибки. Как: Can not redeclare abc() (previously declared in /path/to/file.php)
EDIT: мне это нужно, потому что:
function abc() {
global $page; //this should be int.
if($page == 2) { ... }
}
Но когда эта функция выполняется; Я получаю ошибку Can not convert object into int
. Это связано с тем, что некоторые из которых в моей странице $ $ переопределяются каким-либо объектом. Мне нужно найти место, где оно было изменено. Или мне придется прорыть весь код.
Можете ли вы рассказать нам, зачем вам это нужно? – Justinas
Отслеживание, в котором можно найти объявление функции и где была изменена переменная, - это две разные вещи. Последнее потребует хранения журнала истории всего состояния программы, что просто непомерно дорого. – deceze
вы можете использовать 'isset' см. Http://php.net/manual/en/function.isset.php –