Налагодження WordPress за допомогою Ray, частина 1
TL; DR: Ця публікація містить загальний огляд того, що таке програма 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 є неймовірно корисним.
До недавнього часу я не думав, що є золота середина. Але потім я знайшов Ray і з тих пір використовую його.
Налагодження WordPress за допомогою Ray, частина 1
Що таке Рей?
Перш ніж говорити про налагодження WordPress за допомогою Ray, варто зрозуміти, що таке Ray, а чим ні.
Перше полягає в тому, що це не щось виключно WordPress, тож якщо ви випадково натрапили на цю публікацію як хтось із ширшої спільноти PHP, це те, що ще потрібно перевірити.
З огляду на це, припустімо, що ви розробник на базі WordPress і хочете дізнатися більше про Ray.
По-перше, хоча він і надає елегантний приклад того, як виглядає ваш код, коли його виводять на екран, він пропонує набагато більше.
Зауважте, що коли ви використовуєте Ray, вам знадобляться деякі додаткові інструменти, про які я розповім трохи більше, але якщо ви хочете продовжувати виводити інформацію у формат, подібний до var_dump
, Ray це підтримує. Це тільки робить його привабливішим. 🙂
По-друге, коли ви викликаєте Ray зі свого коду, він переконається, що ви знаєте, звідки надходить виклик. Таким чином ви точно знаєте, який файл і який рядок ви шукаєте. Це особливо корисно, коли у вас кілька дзвінків.
По-третє, ви можете фактично призупинити виконання свого коду так само, як це робите, коли використовуєте фактичний налагоджувач. Це означає, що як тільки він досягає певної точки у вашому коді (і це корисно, якщо ви досягаєте switch
умови чи if
умови, або якщо ви використовуєте, скажімо, фабрику в об’єктно-орієнтованому програмуванні та хочете знати, який екземпляр екземпляр об’єкта створено), тоді ви можете зупинити виконання та краще зрозуміти, що відбувається з вашим проектом.
Нарешті, ви можете організувати типи виводу різними кольорами. Це означає, що якщо ви натрапили на певну гілку в коді, і ви не хочете потрапити на цю гілку, ви можете класифікувати її як червону. Подібним чином ви можете зробити те саме із зеленим, оранжевим, фіолетовим тощо. Це справді залежить від вас і від того, чого ви прагнете досягти, переглядаючи свої дані.
Використання Ray у 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.
Крім того, я розповім про деякі специфічні для WordPress функції Ray, щоб ви могли зрозуміти, що це щось більше, ніж «гарний спосіб скидання змінних».
Зрештою, я вважаю, що Xdebug все ще є тим, що слід використовувати, але Ray є набагато кращою серединою, яка забезпечує багато надійних функцій налагодження, не потребуючи повної підтримки справжнього налагоджувача.