Next.js 的 Laravel 調試欄
使用 Next.js 作為前端,Laravel 作為後端,我想優化我的查詢,或者至少更好地了解創建和實現 Queryfi 後速度的變化。
言歸正傳,我們在這裡:在 Laravel Debugbar 之上為 Next.js 建構的 Debugbar 整合。雖然距離完美還有很長的路要走,但它對我和我目前正在從事的專案很有用。
目前還沒有包,但是如果我有時間,我將來會創建一個包。
我會盡量不要在這裡貼很多程式碼,因為文件很大。相反,有程式碼的 GitHub Gists 連結(遵循 this 關鍵字)。 ?
執行
Laravel 設置
- 在你的 Laravel 專案中安裝 Debugbar:
composer require barryvdh/laravel-debugbar --dev
- 建立一個名為 InjectDebugBarData 的中間件並新增以下程式碼以將 Debugbar 資料注入到 Laravel API 回應中:
<?php namespace App\Http\Middleware; use Barryvdh\Debugbar\Facades\Debugbar; use Closure; class InjectDebugBarData { public function handle($request, Closure $next) { $response = $next($request); if ($response->headers->get('Content-Type') === 'application/json' && Debugbar::isEnabled()) { $debugbarData = Debugbar::getData(); // Decode the existing JSON response $originalData = json_decode($response->getContent(), true); // Update accordingly as for me `data` is a default if (isset($originalData['data'])) { // Inject debugbar into the existing 'data' key $originalData['data']['debugbar'] = $debugbarData; } else { // Fallback: Add debugbar separately if 'data' key doesn't exist $originalData['debugbar'] = $debugbarData; } // Set the modified response content $response->setContent(json_encode($originalData)); } return $response; } }
將此中間件應用到您的路線中。
Next.js 設定
在實用程式資料夾中建立一個名為 debugBar.ts 的文件,並加入程式碼來處理 Debugbar 回應。
確保您有 shadcn,因為組件是用它建造的。
建立一個服務提供者來管理 Debugbar 資料並新增它。
為偵錯欄建立一個元件來顯示並新增它。
使用調試欄
使用服務提供者包裝您的應用程式佈局以包含偵錯欄元件:
<debugbarprovider> {children} <debugbar></debugbar> </debugbarprovider>
在您的 API 回應中,使用來自 DebugBar 提供者的鉤子:
const { addResponse } = useDebugBar(); addResponse(data.debugbar);
最後的註釋
按照這些步驟,如果您在 Laravel 應用程式中記錄某些內容,您將在瀏覽器控制台中看到日誌。與官方 Laravel Debugbar 套件提供的組件相比,該組件類似但更簡單。
以上是Next.js 的 Laravel 調試欄的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文討論了PHP中的crypt()和password_hash()的差異,以進行密碼哈希,重點介紹其實施,安全性和對現代Web應用程序的適用性。

文章討論了通過輸入驗證,輸出編碼以及使用OWASP ESAPI和HTML淨化器之類的工具來防止PHP中的跨站點腳本(XSS)。

自動加載PHP會在需要時自動加載類文件,從而通過減少內存使用和增強代碼組織來提高性能。最佳實踐包括使用PSR-4和有效組織代碼。

本文討論了在PHP中管理文件上傳大小的管理,重點是2MB的默認限制以及如何通過修改PHP.INI設置來增加它。

本文討論了PHP 7.1中引入的PHP中的無效類型,允許變量或參數為指定類型或NULL。它突出顯示了諸如提高可讀性,類型安全性和明確意圖的好處,並解釋瞭如何聲明

本文討論了unset()和unlink()功能在編程中的差異,重點關注其目的和用例。 unset()從內存中刪除變量,而unlink()從文件系統中刪除文件。兩者都對效率至關重要


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。