Прошло 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 ошибок и исключений
Дамп переменных любого типа
Выполнение PHP кода удалённо
Уведомления о JavaScript ошибках
Авторизация
Опции
Видео (см. в 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