Рубрики
Uncategorized

Эффективно отлаживайте свое приложение Laravel с помощью Laravel Telescope

Что делает телескоп? Телескоп Laravel – это официальный пакет Laravel, предназначенный для h… С тегами web dev, php, laravel, телескоп.

Что делает телескоп?

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”