Вкратце: в этом посте дается общий обзор того, что представляет собой приложение Ray и как его настроить для использования в WordPress.
Пока я занимаюсь разработкой WordPress, я постоянно видел, как разработчики, в том числе и я, постоянно используют [print_r](https://www.php.net/manual/en/function.print-r.php)
и [var_dump](https://www.php.net/manual/en/function.var-dump.php)
всякий раз, когда им нужно увидеть, что происходит в их коде.
И это нормально для небольших структур данных, таких как взгляды на объекты, массивы и т. д. Затем, на другом конце спектра отладки, если вам нужно пройти код, чтобы увидеть, какие аргументы передаются в данную функцию, откуда и с каким значением, то использование чего-то вроде Xdebug невероятно полезно.
До недавнего времени я не думал, что есть золотая середина. Но потом я нашел Рэя и с тех пор пользуюсь им.
Отладка WordPress с помощью Ray, часть 1
Что такое Рэй?
Прежде чем говорить об отладке WordPress с помощью Ray, стоит понять, что такое Ray, а что нет.
Во-первых, это не что-то исключительно WordPress, поэтому, если вы наткнулись на этот пост как кто-то еще в более широком сообществе PHP, это то, что еще предстоит проверить.
С учетом сказанного давайте предположим, что вы разработчик на основе WordPress и хотите узнать больше о том, что такое Рэй.
Во-первых, хотя он представляет собой элегантный пример того, как выглядит ваш код при выводе на экран, он предлагает гораздо больше.
Обратите внимание, что при использовании Ray вам потребуются некоторые дополнительные инструменты, о которых я расскажу чуть позже, но если вы хотите продолжать выводить информацию в формат, похожий на var_dump
, Ray поддерживает это. Это просто делает его более красивым. 🙂
Во-вторых, когда вы вызываете Ray из своего кода, он гарантирует, что вы знаете, откуда исходит вызов. Таким образом, вы точно знаете, какой файл и какую строку вы ищете. Это особенно полезно, когда у вас есть несколько вызовов.
В-третьих, вы можете фактически приостановить выполнение вашего кода так же, как вы делаете это всякий раз, когда используете реальный отладчик. Это означает, что как только он достигает определенного места в вашем коде (и это полезно, если вы выполняете switch
условие или if
условие, или если вы используете, скажем, фабрику в объектно-ориентированном программировании и хотите знать, какой экземпляр объект был создан), то вы можете остановить выполнение и лучше понять, что происходит с вашим проектом.
Наконец, вы можете распределить типы вывода по различным цветам. Это означает, что если вы наткнулись на определенную ветку в коде и не хотите нажимать на эту ветку, вы можете пометить ее как красную. Точно так же вы можете сделать то же самое с зеленым, оранжевым, фиолетовым и другими цветами. Это действительно зависит от вас и того, чего вы хотите достичь, просматривая свои данные.
Использование Рэя в WordPres
Если вы читали документацию по установке Ray в WordPress, она может показаться немного пугающей (особенно в зависимости от вашего опыта работы с CLI, Git и обязательными плагинами).
Самое приятное, что так быть не должно. Вместо этого вы можете получить плагин WordPress Ray из репозитория плагинов (либо с сайта, либо из WordPress, в зависимости от ваших разрешений).
После того, как плагин будет установлен, вы сразу же сможете начать загружать информацию в Ray.
Использование Git и Composer
Если вы решите использовать Git и Composer, убедитесь, что эти два инструмента установлены в вашей системе, а затем выполните следующие действия.
Сначала клонируйте репозиторий в свой mu-plugins
каталог, выполнив следующую команду:
$ git clone git@github.com:spatie/wordpress-ray
Затем перейдите в этот каталог в своем терминале и запустите:
$ composer install
После завершения этого процесса откройте wp-config.php
и добавьте следующие две строки:
require_once ABSPATH. 'wp-content/mu-plugins/wordpress-ray/wp-ray.php';
define( 'WP_ENVIRONMENT_TYPE', 'local' );
После этого вы можете начать использовать ray
функцию в своем коде. Например, у меня есть следующая строка кода, работающая в шаблоне, который я использую в качестве демонстрации для этой статьи:
<?php ray( wp_get_current_user() ); ?>
Затем, всякий раз, когда эта страница загружается, приложение Ray будет отображать следующее:
Это, безусловно, богатая информация — информация, которую все еще можно прочитать с помощью других средств, но гораздо более элегантным способом.
Для части 2
Во второй части этой серии статей я расскажу, как начать отладку кода с помощью Ray и почему мне нравится использовать это приложение в качестве промежуточного звена между чем [var_dump](https://www.php.net/manual/es/function.var-dump.php)
– то вроде Xdebug.
Кроме того, я расскажу о некоторых особенностях Ray, специфичных для WordPress, чтобы вы увидели, что это больше, чем просто «красивый способ дампа переменных».
В конечном счете, я думаю, что Xdebug по-прежнему следует использовать, но Ray — гораздо более приятная золотая середина, которая обеспечивает множество надежных функций отладки, не требуя полной поддержки настоящего отладчика.