Telescope是一款很棒的開發者輔助工具,可以透過此看到各項資訊,以下為原文
Telescope provides insight into the requests coming into your application, exceptions, log entries, database queries, queued jobs, mail, notifications, cache operations, scheduled tasks, variable dumps, and more
話不多說,馬上來使用看看吧
composer require laravel/telescope --dev
php artisan telescope:install
php artisan migrate
在終端中分別輸入以上指令,--dev
,是代表只有在local環境才能使用
進入/telescope
路由
就可以看到以下畫面囉
畫面上的就不一一介紹
來用上次提到的N+1來看看query的情況吧
public function index(PostService $postService) {
$posts = Post::with('user')->get();
return response()->json(['data' => $posts], 200);
}
僅兩次query就完成了
$posts = Post::all();
foreach ($posts as $post) {
$user = User::find($post->user_id); // query N次
}
可以發現/telescope
不用驗證(登入等等)就可以使用
這在線上環境是很危險的
使用Telescope的方式有以下幾種方式停用,有些許不同
.env
設定 APP_ENV=local以外.env
設定 TELESCOPE_ENABLED=false也可以透過Dashboard Authorization
在app/Providers/TelescopeServiceProvider.php
中設定可以使用telescope的條件
Telescope功能滿有趣的,其他功能有些要設定就不一一介紹,有需要的讀者可以自行研究
那我們下篇見