Статьи

Лучшие 10 функций Z-Ray, чтобы проверить

Этот пост был написан разработчиком, который работает над проектом Zend Server. Мы очень заинтересованы в редакционной независимости здесь, в SitePoint, но иногда мы публикуем статьи от людей, работающих непосредственно над некоторыми из наших любимых инструментов.

Необходимость — мать изобретений, гласит известная поговорка.

Для разработчиков PHP нет большей необходимости, чем видимость. Но сегодня у разработчиков сложный выбор, когда они разрабатывают и отлаживают свои приложения. Либо используйте грубые методы, такие как печать, отладка информации или сохранение ее в файле журнала, либо — используйте несколько инструментов отладки / профилирования, которые неудобны и требуют большой работы со стороны разработчика.

В любом случае — это значит время. Время, потраченное на доступ к журналу PHP. Время, затраченное на доступ к SQL-запросам. Время, потраченное на поиск этой плохой функции или ошибки PHP, приводящей к узкому месту или крушению вашего приложения.

В этой статье представлены 10 основных функций Z-Ray — новой инновационной технологии Zend, которая делает разработку на PHP намного быстрее и проще, предоставляя разработчикам беспрецедентное представление о своем коде — и наглядность, необходимую для разработки первоклассных приложений.

О Zend Server

Zend Server — это интегрированная платформа приложений для мобильных и веб-приложений PHP. Он включает в себя продвинутый и безопасный стек PHP (который полностью совместим с PHP php.net и основан на том же исходном коде), с более чем 80 популярными расширениями и библиотеками PHP.

Zend Server включает в себя инструменты, которые помогают вам разрабатывать, отлаживать, развертывать и контролировать ваши приложения PHP, а также расширенные функции для оптимизации производительности, масштабируемости и надежности.

Zend Server поддерживает веб-серверы Apache, NGINX и IIS и поставляется в виде собственных пакетов для всех ведущих дистрибутивов Linux, сред Windows, MAC OS X и IBM i, включая облачные среды, такие как AWS.

Zend Server поддерживает любой код PHP и обеспечивает глубокое понимание этого кода, включая популярные PHP-приложения и фреймворки, такие как WordPress, Magento, Drupal, Zend Framework, Symfony и Laravel.

Посмотрите этот обзор для получения дополнительной информации о том, что такое Zend Server и как его установить.

Что такое Z-Ray?

Z-Ray — это компонент Zend Server, который отслеживает запросы, отправленные веб-серверу, а затем отображает все детали запроса страницы по всем PHP-сценариям, участвующим в создании страницы, на изящной панели инструментов в нижней части браузера.

Z-Ray

Z-Ray вводится в ответ от вашего PHP-приложения и отображается прямо перед вами, в вашем браузере. Вам вовсе не нужно настраивать код или изменять рабочий процесс разработки — просто откройте свое приложение в браузере или даже на мобильном устройстве.

Z-Ray разработан так, чтобы быть ненавязчивым — он достаточно мал, чтобы его можно было игнорировать, если вас не волнует диагностика страницы. Но если вы это сделаете, он у вас под рукой — полный данных о странице, которая была только что обработана — без необходимости явно запускать какой-либо дополнительный инструмент или пересоздавать запрос. Z-Ray также попытается привлечь ваше внимание, если ему есть что сказать, отображая значок красного флага, если произошла критическая ошибка или событие.

Топ-10 Z-Ray

В оставшейся части статьи будут описаны 10 лучших функций Z-Ray. В конце статьи вы найдете полезные ссылки, которые вы можете проверить, чтобы узнать о дополнительных функциях Z-Ray. Давайте начнем обратный отсчет!

10. Страница запросов

На панели «Запросы страниц» в Z-Ray перечислены все запросы, отправленные с вашей страницы на веб-сервер, с информацией об их ответе, методе, пути, времени, которое они заняли, и количестве выполненных запросов к БД. Если во время выполнения произошла ошибка, вы узнаете об этом из-за цветного флажка, который появляется рядом с запросом.

В случае нескольких запросов, таких как вызовы ajax, вы можете перейти к конкретному подзапросу, выбрав его в списке запросов. Затем Z-Ray фильтруется соответствующим образом и отображает данные только для этого запроса.

Z-Ray Page Requests

9. Время выполнения и потребление памяти

Не знаете, сколько серверного времени тратится на обработку запросов к базе данных? Панель «Время выполнения и пик памяти» в Z-Ray — отличный способ получить общее представление о том, как ресурсы вашего сервера были использованы запросом. Он отображает пиковое использование памяти и дает разбивку (PHP, База данных, IO, Сеть) запроса, чтобы помочь вам понять, как он был обработан веб-сервером.

Z-Ray Execution Time and Memory Peak

8. Мониторинг событий

Панель «События монитора Z-Ray» предоставляет вам список любых «событий мониторинга» Zend Server, которые могли быть вызваны запросом, оповещая вас об ошибках PHP, высоком использовании памяти, медленном выполнении запроса и т. Д., Как определено вашим мониторингом. правила в Zend Server. Подробнее о Zend Server Monitoring …

Вы можете увидеть полную информацию о событии в пользовательском интерфейсе Zend Server — просто нажмите соответствующий значок для события. Если для события была запущена трассировка кода, к ней также можно получить доступ непосредственно из Z-Ray. Подробнее о трассировке кода Zend Server…

Z-Ray Monitor Events

7. Ошибки и предупреждения

Доступ к логам PHP — не очень популярный метод отладки. Это неудобно и может занять много времени. Панель «Ошибки и предупреждения» в Z-Ray избавляет вас от беспокойства, отображая необработанные исключения, ошибки, сгенерированные самим PHP, или ошибки, созданные его основными функциями. Вы сможете увидеть, когда была создана ошибка, ее тип и фактическое сообщение об ошибке.

Отличная особенность этой панели — возможность видеть записи для выражений, отключенных оператором @. Чтобы увидеть эти записи, все, что вам нужно сделать, это установить флажок «@Silenced» в области фильтрации слева.

Если щелкнуть значок «Обратный след» справа, отобразится полный след ошибки, что даст вам более полное представление о том, что пошло не так.

Z-Ray Errors and Warnings

6. Запрос информации

На панели Z-Ray Request Info вы получите широкий спектр информации о запросе.

Во-первых, вы получите список суперглобальных элементов PHP, используемых в вашем коде. Так, например, вы сможете легко определить, изменились ли значения для ваших суперглобальных переменных SESSION или COOKIE и как, включая фактический размер переменной.

Кроме того, вы сможете увидеть заголовки запросов, необработанные данные постов — если они доступны, а также заголовки и текст ответов.

Z-Ray Request Info

5. Z-Ray в производстве

Z-Ray позволяет разработчикам анализировать код и выявлять ошибки на ранних этапах цикла разработки и еще до начала производства. Однако Z-Ray можно безопасно использовать и на производстве, используя токены доступа, переданные в качестве параметров GET в URL-адресе приложения.

Токены доступа легко управляются и создаются с использованием пользовательского интерфейса Zend Server и могут быть ограничены по IP-адресу, URL-адресу и на определенный период времени.

Z-Ray Access Tokens

4. Функции

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

На панели Z-Ray Functions вы сможете увидеть все функции PHP, вызванные во время запроса; их имя, сколько раз они были вызваны, время, потраченное на выполнение функций, включая и исключая время, потраченное на дочерние функции, и многое другое.

Z-Ray Functions

Функции могут быть отфильтрованы в соответствии с группами функций и пространствами имен с использованием фильтров по умолчанию. Вы также можете создавать свои собственные фильтры функций. Посмотрите, как здесь . Кроме того, как и на других панелях Z-Ray, информация может быть отсортирована в соответствии с заголовком столбца, поэтому очень легко, например, быстро идентифицировать медленные функции.

Чтобы упростить профилирование и обмен с коллегами, в углу есть кнопка экспорта для создания отчета на основе HTML.

3. Поддержка и расширение приложений / Framework

Одна из самых замечательных особенностей Z-Ray — это возможность его расширения.

Используя API расширений (доступно на GitHub ), вы можете подключить собственное расширение Z-Ray или — настроить существующие расширения. Поэтому независимо от того, какое приложение вы разрабатываете или какую платформу / среду вы используете, вы можете попросить Z-Ray отслеживать и отображать информацию, которая, по вашему мнению, оптимизирует рабочий процесс разработки.

Фактически, эта возможность была использована для оснащения Z-Ray встроенной поддержкой популярных приложений и сред PHP, таких как WordPress, Magento, Drupal, ZF1, ZF2, Symfony, Laravel и других. Это означает, что если вы разрабатываете одно из этих приложений / фреймворков, Z-Ray автоматически отобразит дополнительные панели с информацией о приложении / фреймворке.

Z-Ray App/Framework Support

Все это работает «из коробки», без дополнительной настройки с вашей стороны. Просто откройте приложение в браузере.

Процесс разработки расширения Z-Ray чрезвычайно прост и может сводиться к нескольким строкам кода. Посмотрите этот урок, чтобы узнать, насколько это просто.

Эко-система Z-Ray растет еженедельно, и все больше и больше расширений вносятся сообществом PHP, включая расширения для Joomla , OPcache , Doctrine2 , Redis , OroCRM и многих других.

2. Отладка мобильных и API

Вся вышеописанная информация отображается Z-Ray для приложения, открытого в браузере. Но как насчет мобильных приложений? Что если вы разрабатываете API и веб-сервисы?

Не основанные на браузере запросы отображаются на Z-Ray Live! — выделенная страница внутри пользовательского интерфейса Zend Server. В процессе разработки и с момента загрузки этой страницы Z-Ray будет записывать и отображать любые запросы, сделанные к веб-серверу, независимо от его источника — браузера, мобильного устройства или клиента веб-службы. Вся информация, отображаемая для приложения, открытого в браузере, также отображается здесь — не исключение.

Z-Ray Live!

Посмотрите, насколько это просто, в этом видео — Разработка мобильных приложений и API с помощью Z-Ray Live!

1. Запросы к базе данных

Запросы к базам данных — это одна из особенностей Z-Ray, которая больше всего нравится разработчикам PHP, и именно поэтому я перечислил ее на 1-м месте. В некотором смысле, эта панель символизирует, что представляет собой Z-Ray, — предоставляя вам важную информацию о вашем приложении, которая раньше была очень трудной и отнимала много времени.

Панель «Запросы к базе данных» прекрасно отображает все SQL-запросы, выполняемые этим запросом, отображая бесценную информацию о каждом запросе — например, значение привязки запроса, его результат, продолжительность и количество затронутых строк.

Z-Ray Database Queries

Даже несмотря на то, что получение списка запросов, выполненных вашей страницей, как правило, чрезвычайно важно во время разработки и отладки, реальность такова, что без Z-Ray получить его зачастую непросто или практично. Разработчики, которые разрабатывают базу данных компании, могут не иметь доступа к журналу запросов базы данных из соображений безопасности. Некоторые базы данных (например, SQLite) даже не имеют журнала запросов для начала. И даже если у вас есть доступ к журналу запросов, извлечение запросов, которые были выполнены именно со страницы, которую вы просматриваете, может оказаться нелегким, поскольку журнал запросов содержит смесь всех запросов со всех разных страниц. потенциально также от других разработчиков, работающих с этой базой данных одновременно. Поэтому контекстный список запросов Z-Ray намного более мощный и в то же время очень простой в использовании.

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

Вот некоторые дополнительные источники информации, которые вы найдете полезными:
* Живые демонстрации: WordPress | Drupal | Magento | ZF2 | Laravel
* Z-Ray видео
* Z-Ray Extension API
* Zend.com

Обратная связь

Поскольку Z-Ray является текущим проектом, вы можете отправлять свои комментарии или идеи по одному из следующих каналов:
[email protected] | [email protected] | @proudboffin

Чтобы узнать, как написать собственное расширение Z-Ray, см. Этот учебник .