Кликабельные имена функций и стека вызова
Query Monitor- Отладка запросов REST API
- Кликабельные имена функций и стека вызова
- Отключение обработки PHP ошибок плагинов, тем, всех ошибок
- Профилирование и ведение журнала (лог)
- Символическая ссылка db.php
- Утверждения (assertions)
В большинстве панелей Query Monitor отображаются имена функций и стек их вызова. Было бы круто, щёлкнув по имени функции, открыть файл в вашем текстовом редакторе или IDE в нужном месте, не правда ли? Это возможно!
Чтобы включить данный функционал, нужно сделать два шага.
Шаг 1. Настроить обработчик ссылок в редакторе
Чтобы ваш редактор мог открывать файлы по ссылкам, необходимо его настроить. Каждый редактор имеет свою схему URL.
Вот инструкции для некоторых распространенных редакторов:
PhpStorm
Ничего не требуется. PhpStorm сразу поддерживает схему phpstorm://
VS Code
Ничего не требуется. VS Code сразу поддерживает схему code://
.
Atom
Нужно установить пакет Atom Open, чтобы включить поддержку схемы atom://
.
Sublime Text
Нужно установить пакет subl-handler, чтобы включить поддержку схемы subl://
.
Netbeans
Следуйте инструкциям данной статьи, чтобы добавить поддержку схемы nbopen://
.
Шаг 2. Включить кликабельные ссылки
Кликабельные ссылки на файлы включаются через фильтр qm/output/file_link_format
.
Фильтр должен возвращать формат ссылки, который поддерживает ваш редактор кода. Как видно выше у разных редакторов разные схемы URL, обязательно имейте это ввиду.
Код ниже рекомендуется оформлять как mu-плагин.
PhpStorm
add_filter( 'qm/output/file_link_format', function( $format ) { return 'phpstorm://open?file=%f&line=%l'; } );
VS Code
add_filter( 'qm/output/file_link_format', function( $format ) { return 'vscode://file/%f:%l'; } );
Atom
add_filter( 'qm/output/file_link_format', function( $format ) { return 'atom://open/?url=file://%f&line=%l'; } );
Sublime Text
add_filter( 'qm/output/file_link_format', function( $format ) { return 'subl://open/?url=file://%f&line=%l'; } );
Netbeans
add_filter( 'qm/output/file_link_format', function( $format ) { return 'nbopen://%f:%l'; } );
Готово!
Теперь Query Monitor будет отображать кликабельные ссылки на файлы, где бы он ни выводил имена функций, имена файлов или трассировки стека.
Настройка через Xdebug
Совет для профессионалов: Query Monitor учитывает директиву Xdebug xdebug.file_link_format
из файла php.ini. Это позволяет полностью отказаться от использования фильтра qm/output/file_link_format
. Для этого нужно установить указанную выше директиву в правильном формате. Необязательно включать Xdebug, чтобы это сработало. Подробнее читайте здесь.
Пример указания ссылки (схемы) для редактора «VS Code»:
xdebug.file_link_format = "vscode://file/%f:%l"
Отображение пути к удаленному файлу
Если вы занимаетесь отладкой удаленного сайта, или используете Docker, или виртуальную машину, вам нужно сопоставить путь на сервере с путем на вашем локальном компьютере, чтобы ваш редактор не пытался загрузить несуществующий файл. Вы можете сделать это, используя фильтр qm/output/file_path_map
, который принимает массив удаленных путей и локальный путь, на который они ссылаются.
Например, если вы используете Chassis или другую виртуальную машину на основе Vagrant, отображение пути должно выглядеть следующим образом:
add_filter( 'qm/output/file_path_map', function( $map ) { $map['/vagrant/'] = '/path/to/local/project/'; return $map; } );
Если вы используете VVV, отображение пути должно выглядеть так:
add_filter( 'qm/output/file_path_map', function( $map ) { $map['/srv/'] = '/path/to/vvv/'; return $map; } );
-
Источник: querymonitor.com