На базе бандла, но самодостаточен, ни в чем снаружи - кроме зависимостей из composer.json - не нуждается.
Представляет собой досуговую адаптацию фирменного бандла на фоне решения частной задачи.
INTERNAL
В процессе разработки.
composer.json основного проекта:
"extra": {
"installer-paths": {
"./bitrix/modules/{$name}/": ["type:bitrix-d7-module", "type:bitrix-module"],
"./bitrix/components/{$name}/": ["type:bitrix-d7-component", "type:bitrix-component"],
"./bitrix/templates/{$name}/": ["type:bitrix-d7-template", "type:bitrix-theme"]
}
}
И:
"repositories": [
{
"type": "git",
"url": "https://github.com/proklung/bitrix.webprofilier.module"
},
{
"type": "git",
"url": "https://github.com/proklung/bitrix.containerable.boilerplate"
},
{
"type": "git",
"url": "https://github.com/proklung/web.profilier.bundle"
}
]
Composer 1.0 & 2.0:
$ composer require proklung/bitrix-webprofilier-module
Установите модуль proklung.profilier
в административном интерфейсе сайта bitrix/admin/partner_modules.php
Поставить галочку Активность
на странице /bitrix/admin/_profiler_bitrix.php
(или в админке по пути Контент
-> Битрикс профайлер
).
Загрузить модуль в init.php
:
use Bitrix\Main\Loader;
if (Loader::includeModule('proklung.profilier')) {
\Proklung\Profilier\DI\Services::init();
}
Файл /bitrix/.settings.php
:
'proklung.profilier' => [
'value' => [
'parameters' => [
'container.dumper.inline_factories' => false,
'compile_container_envs' => ['prod'],
// Директория, куда ляжет кэш модуля
'cache_path' => '/bitrix/cache',
],
'twig' => [
'cache_dir' => null,
'config' => [],
'paths' => [$_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/proklung.profilier/templates',
__DIR__ . '/../vendor/proklung/web-profilier-bundle/src/Bundle/Resources/view',
],
],
// Бандлы
'bundles' => [],
// Дополнительные data collectors
'collectors' => [
// ID сервиса
'fooCollector' => [
// Класс, объект или замыкание, возвращающее готовый объект
'className' => 'Proklung\Profilier\DataCollector\ModuleDataCollector',
'id' => 'module_collector', // Должно соответствовать тому, что возвращает getName
'template' => '/collectors/module.html.twig',
'priority' => 336
],
// ID сервиса
'metrics' => [
// Класс, объект или замыкание, возвращающее готовый объект
'className' => 'Prokl\WebProfilierBundle\Bitrix\Metric\MetrixDataCollector',
'id' => 'metrics',
'template' => '/collectors/metrics.html.twig',
'priority' => 336
],
],
'transformers' => [
// ID сервиса
'metricsTransformer' => [
// Класс, объект или замыкание, возвращающее готовый объект
'className' => 'Prokl\WebProfilierBundle\Bitrix\Metric\MetricsDataCollectorTransformer',
'key' => 'metrics',
],
]
],
],
Параметр `cache_path` - путь, куда ляжет скомпилированный контейнер. Если не задано, то по умолчанию `/bitrix/cache/s1/proklung.profilier`.
Предполагается, что в системе так или иначе установлена переменная среды `DEBUG` в массиве `$_ENV`. Если нет, то по умолчанию
полагается, что среда "отладочная".
Параметр (массив) `compile_container_envs` указывает окружения, при которых необходимо кэшировать контейнер.
Пока простая логика: `$_ENV["DEBUG"] === true` => окружение `dev`, иначе `prod`.
Работает только, если пользователь залогинен админом. Не рекомендуется использовать на проде.
В админке появляются две кнопки на административной панели (открывать в новом окне):
- Профайлер текущего запроса - ссылка на профайлер с данными на текущую открытую страницу.
- Профайлер последнего запроса - ссылка на профайлер с данными на последний запрос. Отличие от первой кнопки в том, что можно сделать в другой вкладке открыть страницу, возвращающую, скажем json, и посмотреть ее профайл.
- Еще ссылки:
/bitrix/admin/_profilier_module.php