У кожного Laravel-розробника є свій ритуал налагодження: поставити dd(), оновити сторінку, перевірити результат, видалити код — і так по колу. Коли цього замало, ми відкриваємо Tinker, де легко втратити контекст через одну друкарську помилку. Ми звикли до таких незручностей, але робота може бути іншою.
Я створив DDLess, щоб дати PHP-розробникам повноцінний робочий інструментарій. Він працює без розширень та складних конфігурацій у будь-якому середовищі: Local, Docker, WSL чи SSH. Ось що він додасть до вашого робочого процесу.
# Покрокове налагодження за лічені секунди
Встановіть breakpoint одним кліком, надішліть запит — і DDLess зупинить виконання саме в цьому місці. Змінні, стек викликів, step in, step out, step over — усе, що ви очікуєте від дебагера, доступне одразу без зайвих налаштувань.
DDLess аналізує код під час виконання за допомогою AST-парсингу (через nikic/PHP-Parser) і взаємодіє через файли замість сокетів. Саме тому він працює всюди, незалежно від середовища чи версії IDE. Для Laravel застосунок завантажується автоматично: просто вкажіть шлях до проєкту і починайте роботу.
# Playground всередині вашого breakpoint
Це функція, про необхідність якої розробники зазвичай навіть не здогадуються. Коли виконання зупиняється на breakpoint, ви можете відкрити Playground і запускати довільний PHP-код, маючи доступ до всіх змінних у поточній області видимості. Перевіряйте моделі, тестуйте різні сценарії, змінюйте значення на льоту та продовжуйте виконання з новим станом.
Це ніби інтерактивна консоль, що «застигла» в момент виконання коду з повним доступом до контексту.
# Інтерактивний термінал із покроковим дебагом
Task Runner завантажує весь ваш Laravel-застосунок і надає інтерактивне середовище, де моделі, сервіси, хелпери та з'єднання з базою даних уже готові до роботи.
Пишіть PHP-код і отримуйте результат у реальному часі. Експортуйте дані в CSV з пагінацією та прогрес-баром без створення artisan-команд. Перевіряйте роботу сервісів із реальними залежностями та базою даних. Будуйте графіки, інтерактивні поля та форматовані таблиці прямо у вікні виводу.
Ви можете ставити брейкпоінти навіть всередині скриптів Task Runner. Напишіть сценарій, встановіть точку зупинки та проходьте код рядок за рядком. Це поєднання інтерактивного термінала та повноцінного дебагера в одному місці.
# Тестуйте методи без запуску всього застосунку
Виберіть будь-який клас і метод — DDLess автоматично підготує параметри для виклику. Встановлюйте брейкпоінти всередині методу і налагоджуйте його напряму. Вам не потрібні роути, HTTP-запити чи окремі тест-файли. Просто виберіть і запустіть.
# Створено для PHP-спільноти
Нещодавно DDLess згадали у випуску PHP Reads #6 Штефан Прібш та Себастьян Бергманн із PHP Foundation. Вони назвали проєкт «гарним прикладом того, як альтернативні технічні підходи приводять до нових рішень».
Рушій дебагера має відкритий вихідний код, тож ви можете особисто перевірити, як він влаштований.
# Спробуйте вже сьогодні
DDLess безкоштовний для локального налагодження. Desktop-застосунок надає доступ до step debugging, Task Runner, виконання методів та Playground без жодної плати. Pro-план додає умовні брейкпоінти, SSH-дебаг та плагін для PHPStorm.
Завантажуйте та ставте свій перший breakpoint за кілька секунд: