iT邦幫忙

2023 iThome 鐵人賽

DAY 23
0
自我挑戰組

我推的Laravel系列 第 23

【Day-22】我推的Laravel-實戰篇-Telescope

  • 分享至 

  • xImage
  •  

簡介

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路由
就可以看到以下畫面囉
https://ithelp.ithome.com.tw/upload/images/20231007/20163286xRNXkjWEkv.png

畫面上的就不一一介紹
來用上次提到的N+1來看看query的情況吧

with

public function index(PostService $postService) {
    $posts = Post::with('user')->get();
    return response()->json(['data' => $posts], 200);
}

https://ithelp.ithome.com.tw/upload/images/20231007/201632867joMe54RvC.png
僅兩次query就完成了

N+1

$posts = Post::all();
foreach ($posts as $post) {
    $user = User::find($post->user_id); // query N次
}

https://ithelp.ithome.com.tw/upload/images/20231007/2016328689bqM3vZCW.png

安全性

可以發現/telescope不用驗證(登入等等)就可以使用
這在線上環境是很危險的

使用Telescope的方式有以下幾種方式停用,有些許不同

  1. .env 設定 APP_ENV=local以外
    這裡我設定 APP_ENV=dev
    https://ithelp.ithome.com.tw/upload/images/20231007/20163286mKiJgp8aeC.png
  2. .env 設定 TELESCOPE_ENABLED=false
    https://ithelp.ithome.com.tw/upload/images/20231007/20163286wugeFrlMFr.png

也可以透過Dashboard Authorization
app/Providers/TelescopeServiceProvider.php中設定可以使用telescope的條件

總結

Telescope功能滿有趣的,其他功能有些要設定就不一一介紹,有需要的讀者可以自行研究
那我們下篇見


上一篇
【Day-21】我推的Laravel-實戰篇-Laravel 10 新功能
下一篇
【Day-23】我推的Laravel-實戰篇-Horizon
系列文
我推的Laravel31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言