Интегрирует PHP Debug Bar с Phalcon Framework.
/_debugbar/open
, чтобы просмотреть данные (и это также можно отключить).db
. Только для Phalcon ORM.entityManager
. Только для Doctrine ORM.router
.view
.request
.config
.session
.- SwiftMailCollector: Информация о почтовом отправленииmail
.Phalcon\Logger
и Monolog
log
.cache
. ## Быстрый старт### composerустановка
php composer.phar require --dev snowair/phalcon-debugbar
обновление
php composer.phar update snowair/phalcon-debugbar
Установите экземпляр вашего приложения в DI:
$application = new Phalcon\Mvc\Application($di); // Важно: параметр $di не может быть игнорирован. Для микросервиса: new Phalcon\Mvc\Micro($di);
$di['app'] = $application; // Важно
Перед обработкой приложения, зарегистрируйте и запустите провайдер отладочного бара.
(new Snowair\Debugbar\ServiceProvider())->start();
// после старта отладочного бара, вы можете ничего не делать, кроме как обрабатывать ваше приложение прямо сейчас.
echo $application->handle()->getContent();
Необязательно использовать Whoops, модифицируйте файл index.php, добавив следующий код после метода start()
сервиса отладочного бара.
(new \Snowair\Debugbar\Whoops\WhoopsServiceProvider($di));
Пример для INVO:
public function beforeDispatch(Event $event, Dispatcher $dispatcher)
{
$auth = $this->session->get('auth');
if (!$auth){
$role = 'Guests';
} else {
$role = 'Users';
}
$controller = $dispatcher->getControllerName();
$action = $dispatcher->getActionName();
/* Начало отладочного бара */
$ns = $dispatcher->getNamespaceName();
if ($ns == 'Snowair\\Debugbar\\Controllers') {
return true;
}
/* Конец отладочного бара */
$acl = $this->getAcl();
$allowed = $acl->isAllowed($role, $controller, $action);
if ($allowed != Acl::ALLOW) {
$dispatcher->forward(array(
'controller' => 'errors',
'action' => 'show4i1'
));
$this->session->destroy();
return false;
}
}
```### Сохранение данных
Для драйвера **файла**, по умолчанию директория для хранения данных отладочного бара — это `Runtime/phalcon`. Если она не существует, она будет создана автоматически. Вы можете изменить её путём переопределения конфигурации.
Для драйвера **mongodb**, вам необходимо установить расширение **mongodb** и установить phplib: `composer require mongodb/mongodb`.
Для драйвера **elastic**, вам необходимо установить phplib: `composer require elasticsearch/elasticsearch:some-version`.
### О базовой URI
Обратите внимание на конфигурацию **baseUri** вашего проекта, вы **обязаны** установить правильную baseUri для вашего сервиса URI.
Если вы используете Apache, вам следует включить модуль Rewrite и иметь файл `.htaccess` в директории baseUri.
Если вы используете Nginx, вам следует включить модуль Rewrite и отредактировать блок location конфигурации сервера следующим образом:
location @rewrite { # замените 'baseuri' вашей реальной baseUri rewrite ^/baseuri/(.*)$ /baseuri/index.php?_url=/$1; }
## Дополнительно
### Используйте ваш конфиг
Скопируйте `config/debugbar.php` в ваш каталог конфигураций, и измените любые настройки, которые вам нужны. Затем используйте свой файл конфигурации Debugbar следующим образом:
```php
(new Snowair\Debugbar\ServiceProvider('путь_к_вашему_файлу_конфигурации_debugbar'))->start();
\PhalconDebug::startMeasure('start-1', 'сколько времени'); // startMeasure(идентификатор_остановки_меры, метка) \PhalconDebug::addMeasurePoint('начало'); // измеряет затраченное время с последней точки измерения до настоящего момента. \PhalconDebug::addMessage('это сообщение', 'метка'); // добавляет сообщение с помощью пользовательской метки. \PhalconDebug::info($var1, $var2, $var3, ...); // добавляет много сообщений за один раз. Смотрите PSR-3 для других методов названий (debug, notice, warning, error, ...). \PhalconDebug::addMessageIfTrue('1 == "1"', 1 == '1', 'метка_пользователя'); // добавляет сообщение только если второй параметр истинен \PhalconDebug::addMessageIfTrue('не будет показано', 1 == '0'); \PhalconDebug::addMessageIfFalse('1 != "0"', 1 == '0'); // добавляет сообщение только если второй параметр ложен \PhalconDebug::addMessageIfNull('условие является null', Null); // добавляет сообщение только если второй параметр является null \PhalconDebug::addMessageIfEmpty('условие пустое', $условие); // добавляет сообщение только если второй параметр пустой \PhalconDebug::addMessageIfNotEmpty('условие не пустое', $условие = [1]); // добавляет сообщение только если второй параметр не пустой \PhalconDebug::addException(new \Exception('ах, ошибка')); \PhalconDebug::addMeasurePoint('окончание'); \PhalconDebug::stopMeasure('start-1'); // stopMeasure(идентификатор_остановки_меры)
addMessage addMessageIfTrue addMessageIfFalse addMessageIfNull addMessageIfEmpty addMessageIfNotEmpty addException addMeasurePoint startMeasure stopMeasure debug/info/notice/warning/error/emergency/critical
#### Примеры
{{ debug(var1, var2) }} {{ info(var1, var2) }} {{ addMessageIfTrue('$var === true', var) }}
### Множественные модули
Обычно вам не требуется изменять другие файлы, если вы следуете указанным ниже правилам:
1. Все сервисы для кэширования содержат слово `cache` в своём имени.
2. Все сервисы для работы с базами данных начинаются с `db` или заканчиваются на `db`.
3. Чтобы открыть независимую страницу отладки, используйте адрес `/_debugbar/open?m={имя_модуля}`.
Если имя вашего сервиса не соответствует этим правилам, вам потребуется прикрепить его к отладочной панели:
```php
// service.php
$di->set('read-db-test', function(...) ); // сервис для работы с базами данных
$di->set('redis', function(...) ); // сервис для кэширования
if ($di->has('debugbar')) {
$debugbar = $di['debugbar'];
$debugbar->attachDb('read-db-test');
$debugbar->attachCache('redis');
}
Настоятельно рекомендую вам назначить доменное имя проекту и установить значение baseUri
сервиса uri
равным /
.
Для запросов AJAX/JSON данные отладки хранятся в постоянной директории в виде JSON файла. Вы можете загрузить эти данные на страницу отладки через OpenHandler (иконка "Открыть" справа).* Если отладочная панель не работает, вероятнее всего, проблема связана с тем, что один или несколько собирающих модулей вызвали ошибку во время выполнения программы. Вы можете изменить конфигурационный файл отладочной панели, по одному отключать собирающие модули и повторять попытки до тех пор, пока не найдете источник проблемы.* По любым вопросам вы можете создать issue на GitHub.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )