Использование Laravel Telescope для отладки
Laravel Telescope — это инструмент отладки с открытым исходным кодом от Laravel. Он с открытым исходным кодом, бесплатен и доступен на Github. Вы можете установить его, добавив в качестве зависимости Composer.
Что такое telescope Laravel?
Telescope — это инструмент отладки, который представляет собой комбинацию различных средств отслеживания входящих запросов вашего приложения, таких как HTTP-запрос, запросы командной строки, планировщик или очередь.
Эти наблюдатели собирают всю информацию об этих запросах, такую как запросы к базе данных, время выполнения запроса, запущенные события и многое другое.
Установка telescope Laravel
Перед установкой Telescope вам необходимо установить Laravel. Если вы хотите создать новое приложение, вы можете запустить команду ниже в своем терминале, и она создаст новый проект Laravel.
composer create-project laravel/laravel Telescope
Чтобы установить Telescope, выполните следующую команду:
composer require laravel/telescope --dev
Вы можете использовать тег --dev
, чтобы установить его как зависимость для разработчиков, или вы можете установить его без этого тега.
После того, как установка настроена и завершена, вы можете перейти к подготовке ресурсов, файлов конфигурации и базы данных, выполнив:
php artisan telescope:install php artisan migrate
Настройка telescope Laravel
Сразу после установки вы можете открыть маршрут /telescope
и вам будет представлен телескоп, как показано ниже:
Вы можете изменить маршрут в файле config/telescope.php
. Этот файл позволяет вам настроить Laravel Telescope. Наиболее важные параметры:
path
Это путь в вашем приложении, который позволит вам получить доступ к телескопу. Значение по умолчанию: telescope
.
driver
Здесь Telescope будет хранить данные. Значение по умолчанию: database
.
storage
Это определит, какое соединение с базой данных использовать. Он будет использовать подключение к базе данных по умолчанию.
limit
Это определит, сколько данных Telescope будет хранить для всего, что вы будете отлаживать. Значение по умолчанию: 100
.
Ограничение доступа к телескопу
В вашей локальной среде любой пользователь может получить доступ к телескопу. Допустим, в производственной среде вы хотите ограничить доступ для выбранных пользователей. Для этого перейдите в файл app/Providers/TelescopeServiceProvider.php
и найдите функцию gate.
/** * Register the Telescope gate. * * This gate determines who can access Telescope in non-local environments. * * @return void */ protected function gate() { Gate::define('viewTelescope', function ($user) { return in_array($user->email, [ // ]); }); }
Вы можете добавить список адресов электронной почты. Пользователи с этим адресом электронной почты будут иметь доступ к Telescope.
Особенности telescope
Телескоп поставляется с несколькими опциями, с помощью которых вы можете контролировать обработку практически всего. В основном мы используем вкладки ниже, чтобы следить за производительностью нашего приложения.
Запросы
На этой вкладке содержится информация обо всех входящих HTTP-запросах к вашему приложению.
Команды
На вкладке команд отображаются все выполненные команды, а также код их завершения. Вы также можете увидеть аргументы, параметры и связанные элементы для этих команд.
Исключения
Регистрирует все исключения и позволяет проверить каждое из них. Это покажет вам данные, аналогичные другим вкладкам, такие как имя хоста, тип, запрос, теги, аутентифицированный пользователь.
Журналы
На вкладке журналов показано основное сообщение журнала, уровень и время его возникновения для всех элементов журнала.
Queries
Список всех ваших запросов к БД, например панель отладки. Сколько времени они заняли, зайдите и просмотрите полный запрос, какие запросы его вызвали и т. д. Хороший форматированный вид.
Модели
Вы можете видеть создание, обновление и удаление событий; показывает внесенные изменения и т. д.
Почта
Показывает список всех отправленных электронных писем; кто являются получателями; когда это произошло; стоит ли он в очереди, а затем, когда очередь его выгоняет. Может видеть тему электронного письма, а когда вы копаетесь в ней, вы также видите предварительный просмотр электронного письма, например MailTrap.
Уведомления
Показывает все уведомления, их тип и т. д. Предварительного просмотра нет, так как некоторые уведомления недоступны для предварительного просмотра, но если это почтовое уведомление, вы также увидите его там. Если уведомление было поставлено в очередь, вы также можете увидеть его в разделе «Задания» запроса.
Также имеются вкладки Schedule, Jobs,, Dumps, Gates, Events, Cache и Redis. На всех этих вкладках представлена очень подробная информация обо всех обработках.