PHP Console 3.0 — важнейшее обновление за 3 года

в 0:34, , рубрики: Google Chrome, php, Веб-разработка, метки: , ,

Прошло 3 года с момента выхода первой версии, о которой вы могли читать в статье Как подружить PHP с консолью Google Chrome. За это время расширение набрало 43`000 активных пользователей, и, что не менее важно, в ноябре 2013 обновилось до версии 3.0. Несколько месяцев разработки, и получилась полностью переписанная, в несколько раз более функциональная версия.

Новый функционал PHP Console 3.0

  • Отладка PHP ошибок и исключений (было в v1.1)
  • Дамп переменных любого типа
  • Выполнение PHP кода удалённо
  • Защита соединения по паролю
  • Группировка данных отладки по URL запроса
  • Открытие файла-строки ошибки в вашей IDE по клику на кнопку в уведомлении
  • Копирование данных ошибки/дампа в буфер обмена(для тестеров)
  • Новый клиент-сервер протокол без ограничений на размер данных
  • Новая PHP библиотека на GitHub
  • Новое расширение для Yii
  • И многое другое...

В статье:

  • Скриншоты
  • Видео
  • Список функций Google Chrome расширения
  • Список функций PHP библиотеки
  • Голосование за партирование на другие языки

Скриншоты (кликабельно)

Вывод PHP ошибок и исключений

image

Дамп переменных любого типа

image

Выполнение PHP кода удалённо

image

Уведомления о JavaScript ошибках

image

Авторизация

image

Опции

image

Видео (см. в HD)

Видео презентация с демонстрацией 90% функционала расширения. Также вы можете опробовать как это всё работает установив расширение и перейдя на страницу примеров тестового сервера (там кстати пример с PHP code remote execution настроен на песочницу с PHP 5.5, кому интересно, можете поэкспериментировать с новыми возможностями 5.5, только сервак не вешайте плз :)

Функционал Google Chrome расширения PHP Console

  • Никаких иконок в тулбаре, только в адресной строке(когда активно на сервере)
  • Настройка в попапе по клику на иконку в адресной строке
  • Ошибки PHP, исключения и дамп переменных в JavaScript консоли(Ctrl+Shift+J)
    • Группировка по URL запроса
    • Обработка данных с переадресованных страниц
    • Вывод backtrace ошибок и исключений
  • Ошибки PHP, исключения и дамп переменных в попап уведомлениях
    • Авто-закрытие по времени(см. опции)
    • Открытие файла-строки ошибки в вашей IDE по клику на кнопку в уведомлении(см. опции)
    • Копирование данных ошибки/дампа в буфер обмена(см. опции)
  • Игнорирование вывода ошибок по типу
  • Игнорирование вывода дампа переменных по тэгу
  • Обработка данных с любых источников: web-страница, AJAX, IFrame
  • Обрезает длинные пути к файлам
  • JavaScript ошибки в попап уведомлениях(см. опции)
    • Игнорирует повторяющиеся ошибки
    • Игнорирует ошибки Google Chrome расширений
    • Не переопределяет пользовательские обработчики ошибок
  • Авторизация по паролю
  • Выполнение PHP кода удалённо

Функционал PHP библиотеки

  • Connector
    • Работает с разными кодировками сервера
    • Оптимизированная инициализация(может быть испольован на серверах под нагрузками)
    • Поддерживает режим соединения только по HTTPS
    • Защита соединения только по списку разрешённых IP масок

  • Handler
    • Обработка PHP ошибок(+фатальные и лимит памяти) и исключений
    • Игнорирование одинаковых ошибок
    • Вызов определённых ранее обработчиков ошибок и исключений

  • Dumper
    • Дамп переменных любого типа
    • Дамп protected & private свойств и имени классов объектов
    • Ограничение дампов по уровню вложенности, количеству элементов, размеру элемента и дампа
    • Защита от рекурсий
    • Текстовое представление callback-ов и Closure
    • Автоопределение строки: файла и backtrace вызова дампа(опционально)

  • Auth
    • Защита соединения по паролю
    • Авторизационные токены хешируются SHA-256, с привязкой к IP клиента

  • EvalProvider
    • Удалённое выполнение PHP кода только в защищённом паролем режиме
    • Каждый запрос подписывается SHA-256 хешем от строки кода и авторизационного токена
    • Результат содержит: «output», «return» и «time» данные
    • Обработка PHP ошибок и исключений в выполняемом коде
    • Добавление переменных для быстрого доступа из кода выполняемого в терминале
    • Защита доступа к файловой системе посроедством PHP опции “open_basedir”

  • Helper — регистрирует глобальный класс PC для более короткого вызова дампа переменных
  • PsrLogger — реализация интерфейса PSR-3 логгера
  • OldVersionAdapter — для миграции с PhpConsole v1.* на v3.* без изменения кода

Ваше мнение

Код серверной части хоть и покрыт ~200 тестами, но так или иначе возможны какие-то недочёты и баги. Буду очень благодарен, если вы оставите отзыв о расширении, и, если обнаружите какой-то баг или недостающий функционал, то сообщите об этом.

Так же буду очень благодарен всем кто откликнется помочь в портировании PHP Console на другие языки.

Автор: liaren

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js