Меню Закрыть

Php вывести в консоль

Содержание

Отладка PHP кода выполняется самыми разными способами. Можно выводить информацию на экран, с помощью die или var_dump, с помощью файлов журнала, в которые пишутся сообщения об ошибках и предупреждения. Плохо то, что почти все перечисленные методы вносят нарушения в шаблон страниц и сообщения достаточно трудно вычленять в потоке другой информации.

Почему бы не использовать один инструмент для всех скриптов (и PHP и Javascript)? Таким инструментом может стать консоль JavaScript, которую можно использовать и для отладки PHP кода. Консоль входит в набор разработчика, который присутствует практически во всех современных браузерах по умолчанию или доступен в виде удобного дополнения. Она предоставляет собой отличный инструмент для цветного вывода с номером строки и всем, что нужно. А кроме того, можно выводить значения массивов и целых объектов в консоль.

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

Вот класс, который выполняет всю работу:

Код достаточно простой и понятный. Основная идея заключается в генерировании JavaScript кода, который выводит значения переменных и сообщения в консоль. Очень просто и эффективно.

Код, который содержится в секции для браузеров без консоли, создает пустые функции-заглушки и браузер будет выполнять скрипт, несмотря на присутствующие вызовы записи сообщений в консоль.

Теперь посмотрим на пример использования. Ниже приведенный код используется в демонстрационной странице:

Чтобы увидеть действие кода, надо открыть консоль JavaScript в браузере и открыть/перегрузить демонстрационную страницу.

В браузерах без консоли в коде появятся элементы div с сообщениями, а код выполнится до конца без перерывов.

Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: www.codeforest.net/debugging-php-in-browsers-javascript-console
Перевел: Сергей Фастунов
Урок создан: 28 Марта 2011
Просмотров: 46844
Правила перепечатки

Читайте также:  Зачем две симки в телефоне

5 последних уроков рубрики "PHP"

Фильтрация данных с помощью zend-filter

Когда речь идёт о безопасности веб-сайта, то фраза "фильтруйте всё, экранируйте всё" всегда будет актуальна. Сегодня поговорим о фильтрации данных.

Контекстное экранирование с помощью zend-escaper

Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак. В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.

Подключение Zend модулей к Expressive

Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение. В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.

Совет: отправка информации в Google Analytics через API

Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.

Подборка PHP песочниц

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

var_dump и print_r выводятся в том месте страницы, где они вставлены в коде и приходится мотать страницу в поиске отладочной информации, а если отладку нужно производить на боевом сайте — то клиенты могут увидеть вашу «работу» по устранению неисправностей.

Реализации функции вывода отладочной информации PHP в консоль браузера

almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.

Пишем в лог:
Log::info("Vasya Super Start");

Слушаем логи в консоли:
$ tail -f storage/logs/laravel.log (или по дням)

Не знаток ларавель, но в других php-фреймворках, приложение, как привило, способно работать в только одном из двух режимов: WEB / CLI. Поскольку классическое php web приложение не является полнофункциональным веб-сервером, а запускается из-под apache / nginx.

Читайте также:  Как зарядить фотоаппарат canon через usb

Т.о. если вы пишете коснольное приложение, используя какой-либо фреймворк, то в нём и так всё будет выводиться на консоль по умолчанию — оно и запускаться будет из неё.

В общем случае, для web-приложения, это вряд ли возможно. Можно конечно используя логер (не знаю насколько он продвинут в ларавель) писать из веб- приложения логи в файл / сокет, а его уже читать / слушать из консоли.

https://laravel.com/docs/5.2/artisan#command-io по моему тут все описано, есть функции внутри команды вроде $this->info(), которые выводят сообщение непосредственно во время исполнения.

To send output to the console, use the line, info, comment, question and error methods.

$this->line(), $this->info(), $this->comment().

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.