Ну как бы в браузере вы хоть раз варнинги видели? А тут по сути идёт захват всего, что выдаётся в браузер. Вот и варнинги захватываются.
Это всё хорошо, если изначально об кеше задумывалось, а тут очень похоже на то, что прикручивают к уже готовому проекту. Поэтому (отвечая на вопрос "как?") - через output buffering, даже код для наглядности приведен.
Собственно поэтому на всякие варнинги человек и напоролся.
может так как-то проверять?
http://php.net/manual/ru/function.error-get-last.php
В браузере хром есть ссредства разработчика - они же chrome developer tools. В них есть вкладка network, которая показывает все запросы, которые отправляет браузер и все ответы сервера.
Если хотите парсить - вам надо подружиться в этим инструментом. В файрфоксе и ие есть аналоги.
Не мне вопрос, но отвечу. Если поставновка задачи именно как "отображение урла в зависимости от куска адреса", то это условие его и проверяет.
Теоретически влияет, как и весь код. На практике, если вы не гугл - то пофиг
Да как бы адрес страницы формируется еще до запуска скрипта. Он же апачу передается и апач уже передает этот адрес в php, а тот в зависимости от него формирует страницу.
Или тут какая-то подъёб тонкая ирония или я не понимаю вопросов.
Внутреннее чувство жопой, что если классу нужно знать имя вызывающего его класса - то это костыль.
И костылём я своё предложение называл.
public function __get($name) { // Определение имени классов в которых вызываются не определенные свойства $descendantClassName = get_class($this); echo $descendantClassName . '<br>'; // Если объект уже существует, возвращаем его if(isset(self::$obs[$name])) { self::$obs[$name]->calling_class = $descendantClassName; return(self::$obs[$name]); } // Определяем имя нужного класса $class = $this->classes[$name]; // Сохраняем для будущих обращений к нему self::$obs[$name] = new $class(); // Возвращаем созданный объект self::$obs[$name]->calling_class = $descendantClassName; return self::$obs[$name]; }
Или какие-то такие костыли, или может с рефлексией заморочиться, или рассказать для чего вам это человеческим языком, а то похоже на проблему x y (http://7bloggers.ru/xy-problem/)
Ну это просто код пожат, чтобы быстрее грузился
Вообще странное какое-то дело, что переменная не понятно откуда берется по стеку вызовов. Если только глобальная какая-то и меняется в другом месте.
Ну даже хз, если вам в стеке вызовов копаться лень, то в логе всех событий вы вообще заколебетесь что-то искать.
Брейкпойнт на нужное место и в отладчике стек вызовов смотреть - по-моему самое актуальное решение.