はじめに
デバッグツールとしてLaravel Telescopeを導入したので、ご紹介します。
環境
- Laravel:8.83.4
1. Telescopeとは
Laravel公式のデバッグ・パッケージであり、レスポンスの内容や発生した例外、SQLのクエリなどを視覚化してくれます。
2. 導入
公式ドキュメントを参考に、開発環境へインストールしていきます。
以下の3つのコマンドでTelescopeをインストールします。
composer require laravel/telescope --dev
php artisan telescope:install
php artisan migrate
この時点で
- telescope_entries
- telescope_entries_tags
- telescope_monitoring
という3つのテーブル作成されています。
次に、config/app.php
ファイルからTelescopeServiceProvider
の登録を削除(無効化)します。
<?php
return [
//略
/*
* Application Service Providers...
*/
App\Providers\AppServiceProvider::class,
App\Providers\AuthServiceProvider::class,
// App\Providers\BroadcastServiceProvider::class,
App\Providers\EventServiceProvider::class,
App\Providers\RouteServiceProvider::class,
App\Providers\FortifyServiceProvider::class,
// App\Providers\TelescopeServiceProvider::class //この行を無効化する
],
//略
App\Providers\AppServiceProvider
のregister
メソッドに登録します。
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* 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);
}
//ここまで追加
}
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
//
}
}
最後に、composer.json
に以下を追加して、本番環境でTelescopeライブラリが自動検出されないようにします。
{
//ここから追加
"extra": {
"laravel": {
"dont-discover": [
"laravel/telescope"
]
}
},
//ここまで追加
}
以上でインストール完了です。
サーバーを起動して、
php artisan serve
ローカル環境URL/telescope
にアクセスすると、ダッシュボードが表示されます。
3. 使ってみた感想
ダッシュボードから簡単に履歴を見ることができるので、簡単に使うことができました。
特に、1つのHTTPリクエストに紐づいたログやSQLクエリが見れるのが便利だと感じました。
効率よく開発を進めるために、活用していきたいと思います。
4. 参考文献