Что делает телескоп?
Laravel Telescope – это официальный пакет Laravel, предназначенный для локальной отладки приложения Laravel.
Хотя он в основном используется для отладки в локальной среде, его также можно использовать в производственной среде.
Варианты использования
- Проверять входящие запросы
- Проверяйте запросы к базе данных на предмет оптимизации и обращайте внимание на страшные N+1
- Просматривайте почтовые сообщения локально, а не отправляйте их в стороннюю службу, например Mailtrap.io
- Визуализируйте сброшенные данные, не убивая страницу
- Проблемы с кэшированием отладки
- Просмотр журналов
И многое другое. Взгляните на официальную документацию для получения дополнительной информации.
Вступление
Во-первых, нам нужно существующее приложение Laravel. Для краткости я просто приведу ссылку на документацию вместо этого.
Телескоп можно использовать как локально при разработке , так и в производстве , но шаги немного отличаются для каждого варианта использования.
Используйте телескоп локально и в производстве
Установка для использования телескопа как локально, так и в производстве является самой короткой.
Имейте в виду, что запуск Telescope в рабочей среде может повлиять на производительность вашего приложения. Рекомендуется отключить наблюдателей, которые вам абсолютно не нужны.
Установка
Первый , направляйтесь к терминалу и добавьте Телескоп в проект:
composer require laravel/telescope
Как только Телескоп будет успешно добавлен в проект, опубликуйте его ресурсы с помощью команды Artisan:
php artisan telescope:install
Вот и все! Телескоп теперь установлен и готов к работе.
В процессе производства количество записей, сохраняемых в базе данных, может очень быстро стать огромным, в зависимости от посещаемости вашего сайта. Вот почему вы должны регулярно удалять данные с помощью запланированной команды Artisan. Вы можете узнать больше об этом предмете в официальной документации телескопа.
Используйте телескоп только для местного развития
Установка телескопа локально только для разработки также возможна, если он вам не нужен в производстве.
Хотя у вас не будет никаких данных для вашего производственного приложения, этот вариант использования имеет то преимущество, что не приведет к снижению производительности вашего приложения.
Установка
Что касается установки для использования в производстве, давайте перейдем к терминалу и добавим Телескоп в проект с помощью Composer:
composer require laravel/telescope --dev
Затем мы сможем опубликовать активы Телескопа с помощью Artisan:
php artisan telescope:install
И, наконец, запустите миграцию:
php artisan migrate
Зарегистрируйте поставщика услуг вручную
Удалить регистрацию поставщика услуг телескопа из приложения config/app.php файл конфигурации:
'providers' => [
/*
* Application Service Providers...
*/
// ...
// Remove the line below
App\Providers\TelescopeServiceProvider::class,
],
Это сделано для того, чтобы Laravel не регистрировала Телескоп, когда регистрирует других своих поставщиков услуг в процессе производства.
Зарегистрируйте поставщика услуг телескопа вручную в файле приложения App\Providers\AppServiceProvider :
/**
* Register any application services.
*
* @return void
*/
public function register()
{
if ($this->app->environment('local')) {
$this->app->register(\Laravel\Telescope\TelescopeServiceProvider::class);
$this->app->register(TelescopeServiceProvider::class);
}
}
Который регистрирует Поставщика услуг телескопа у поставщика каталог, а затем тот, который настроен для вашего приложения.
Наконец, пакет телескопа не должен автоматически обнаруживаться Laravel.
Добавьте пакет Telescope в массив не обнаруживать в файле composer.json , чтобы игнорировать его при выполнении команд установки и обновления Composer в рабочей среде:
"extra": {
"laravel": {
"dont-discover": [
"laravel/telescope"
]
}
},
Панель мониторинга и авторизация
Чтобы получить доступ к панели мониторинга телескопа, вы можете посетить your-app.test/телескоп .
По умолчанию панель мониторинга доступна только в локальной среде.
Однако для производственных сред необходимо указать, каким пользователям разрешен доступ к панели мониторинга, поскольку она защищена шлюзом авторизации.
Вы можете авторизовать пользователей в вашем приложении. TelescopeServiceProvider.php файл:
/**
* 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, [
// taylor@laravel.com
]);
});
}
Вам не нужно указывать какого-либо авторизованного пользователя в локальной среде, так как разрешен любой пользователь, даже не прошедший проверку подлинности.
Конфигурация
Все параметры конфигурации телескопа можно найти в его файле конфигурации внутри папки приложения config .
Обязательно внимательно изучите этот файл, чтобы настроить телескоп в соответствии с вашими конкретными потребностями.
Хотя это не указано в самом файле конфигурации, вы можете переключить темный режим телескопа в настройках вашего приложения. TelescopeServiceProvider.php файл.
Модернизация телескопа
Как указано в официальной документации , вы всегда должны просматривать изменения при обновлении до основной версии.
Повторная публикация ресурсов телескопа после обновления:
php artisan telescope:publish
Этот процесс также можно автоматизировать, добавив последнюю команду в массив сценариев после обновления в файле composer.json :
{
"scripts": {
"post-update-cmd": [
"@php artisan telescope:publish --ansi"
]
}
}
Погружение глубже
Это руководство охватывает только установку и начало работы с Laravel Telescope. Есть гораздо больше тем, которые нужно охватить, таких как теги, наблюдатели и т.д.
Обязательно всегда просматривайте официальную документацию .
Ресурсы
Оригинал: “https://dev.to/celienboillat/debug-your-laravel-application-efficiently-with-laravel-telescope-290b”