Что умеет этот плагин:
1) Особо отмечать в генерируемом HTML-коде используемые файлы шаблонов, чтобы понимать, откуда что берется при выводе страницы
2) Создавать описания классов в формате PhpDocs для автокомплита в IDE
3) Показывать текущую конфигурацию сайта (т.е. итоговый конфиг)
4) Перехватывать и отображать на экране ошибки с кучей дополнительной информации
Маркировка файлов шаблонов в HTML-коде
Известно, что итоговый HTML-код в Альто собирается из большого числа файлов, которые, к тому же, могут еще зависеть от установленных плагинов. И иногда бывает сложно понять, что откуда берется. Для того, чтоб облегчить поиски источников, в конфиге плагина Dev надо задать опцию:$config['smarty']['options']['mark_templates'] = true;
И теперь при генерации HTML-кода в в него будут вставляться специальные комментарии, указывающие на начало и конец используемого файла шаблона. Код, в итоге, выглядит примерно так:<!-- TEMPLATE BEGIN [lvl:0, tpl:@common/templates/skin/experience/tpls/commons/common.header_nav.tpl] -->
<nav class="navbar navbar-default navbar-content" role="navigation">
<div class="container">
<div id="navbar-content">
<ul class="main nav navbar-nav">
<!-- TEMPLATE BEGIN [lvl:0, tpl:@common/plugins/dev/templates/skin/default/tpls/menus/menu.dev.tpl] -->
<ul class="main nav navbar-nav">
<li>
<a class="" href="https://altocms.dev.loc/dev/config/">Config</a>
</li>
</ul>
<!-- TEMPLATE END [lvl:0, tpl:@common/plugins/dev/templates/skin/default/tpls/menus/menu.dev.tpl] -->
Описания классов и автокомплит
Еще одна неприятная проблема — это отсутствие автокомплита классов в IDE. Чтобы ее решить, нужно настроить секцию $config['class_aliases'] конфигурации плагина.Плюс (это важно!) нужно создать файл engine/config.defines.php с таким содержимым:
<?php
define('DEBUG', 1);
// EOF
И тогда (если настройки плагина заданы по умолчанию, у вас в папке /_dev/ будут созданы два файла: Aliases.php и F.php. Все, наслаждаемся автокомплитом!Видим, какие модули у нас есть, причем (!!!) с учетом наследования в плагинах:
И, конечно, методы и свойства модулей тоже определяются:
Просмотр конфигурации
Конфигурация вашего сайта может формироваться с помощью разных источников — базовая конфигурация по умолчанию, конфиг-файлы плагинов, шаблонов, установка настроек через админку и т.д. И, порой, бывают ситуации, что какой-то параметр конфигурации переопределяется много раз, и не очень понятно, какое же, в итоге, у него значение. Теперь узнать это легко и просто — идем по адресу site.com/dev/config/ и наблюдаем там такую картину:Обработчик ошибок
Наконец, плагин добавляет свой обработчик ошибок, используя библиотеку Whoops (разумеется, его можно отключить). И если случается при отладке ошибка, то она отображается примерно так:Очень удобно — и стек вызовов показывается, и серверные переменные, и даже кусок исходного кода, где приключилась эта ошибка
Плагин на гитхабе: https://github.com/altocms/alto-plugin-dev
8 комментариев
Ошибка в журнале E_ERROR [1] Class 'Whoops\Run' not found (C:\OpenServer\domains\alto11\common\plugins\dev\PluginDev.class.php on line 39)
Когда просят что либо починить приходится приписывать функцию для того чтоб отладка срабатывала только для меня.