」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 不到一分鐘即可完成帶有身份驗證和用戶面板的 Laravel + React 項目

不到一分鐘即可完成帶有身份驗證和用戶面板的 Laravel + React 項目

發佈於2024-11-07
瀏覽:571

我最近在X 上發布了一個視頻,其中我在不到一分鐘的時間內設置了一個帶有身份驗證和用戶個人資料頁面的Laravel React專案!我認為為任何喜歡遵循詳細指南的人分享書面版本會很有幫助。

在本指南中,我將向您展示如何使用React 前端和內建身份驗證快速設定新的Laravel 項目,所有這些都使用Laravel Breeze 。只需幾個步驟,我們就將擁有一個功能齊全的使用者面板,可進行設定檔編輯。

為什麼是 Laravel?

Laravel 是一個流行的 PHP 框架,用於建立現代 Web 應用程式。事實上,它正在迅速獲得關注,2024 年 9 月,Accel 宣布對 Laravel 投資 5700 萬美元。

根據官方網站,Laravel 是“Web Artisans 的 PHP 框架”,它確實符合這一描述。

我不會花太多時間介紹 Laravel 是什麼,其官方網站和文件上有大量資訊。相反,讓我們開始設定您的項目。

項目設定

技術堆疊

我們將使用:

  • Laravel(用於後端 API)

  • SQLite 這是 Laravel 專案的預設資料庫(儘管您可以輕鬆切換到另一個資料庫)

  • React 前端(使用 Inertia.js)

  • Laravel Breeze 處理身分驗證與使用者管理

要求

要遵循本指南,請確保您擁有:

  • PHP 8(最好是 8.3)

  • 作曲家

  • Node.js (v21)

準備好?讓我們開始吧!

第 1 步:建立一個新的 Laravel 項目

首先,使用Composer新建一個Laravel專案:

composer create-project laravel/laravel laravel-project

這將使用預設的 Laravel 設定建立一個新目錄。進入專案目錄並為應用程式提供服務:

cd laravel-project
php artisan serve

如果您造訪 http://localhost:8000,您將看到 Laravel 歡迎頁面。

Laravel   React project with Authentication & User Panel in less than a minute

恭喜,您已經創建了您的第一個 Laravel 專案! ✅

預設情況下,Laravel 使用 SQLite 資料庫,該資料庫已經為您設定好了。您可以在database/database.sqlite.

找到資料庫文件

第 2 步:安裝 Laravel Breeze

接下來,我們將加入Laravel Breeze,它提供了身分驗證的最小實現,包括:

  • 登入

  • 登記

  • 密碼重設

  • 電子郵件驗證

  • 密碼確認

此外,Breeze 還包括一個簡單的個人資料頁面,用戶可以在其中更新他們的資訊。

透過運行添加 Breeze 套件:

composer require laravel/breeze --dev

現在,將 Breeze 安裝到您的專案中:

php artisan breeze:install

Laravel   React project with Authentication & User Panel in less than a minute

安裝過程中,Breeze 會提示您幾個選項:

  • 我選擇React作為前端,但還有一些選擇:

    • 刀刃
    • Livewire
    • Vue
    • 僅限 API
  • 您可以選擇啟用深色模式伺服器端渲染(SSR)TypescriptESLint .

  • 當您詢問測試框架時,您可以選擇 PestPHPUnit。我將使用 Pest.

流程完成後,Breeze 將新增身分驗證和使用者管理所需的所有內容。

完成了! ?

第 3 步:運行您的應用程式

現在 Breeze 已設定完畢,您的應用程式已準備就緒,您可以再次運行它:

php artisan serve

造訪http://localhost:8000/register 建立一個新使用者。

Laravel   React project with Authentication & User Panel in less than a minute

您將從一個空的儀表板開始,然後可以導航到您的個人資料頁面來編輯您的用戶詳細資訊並更新您的密碼。

Laravel   React project with Authentication & User Panel in less than a minute

資料已儲存在您的 SQLite 資料庫中,您的應用程式基本上已準備好部署!

結論

透過執行這些步驟,您已經使用 LaravelReact 成功引導了一個全端 Web 應用程序,並完成了身份驗證和使用者設定檔管理系統。

Breeze 為您提供了一個很好的起點,但從這裡您可以專注於添加自訂業務邏輯、改進 UI/UX 或整合第三方服務,同時站在 Laravel 生態系統的肩膀上。

版本聲明 本文轉載於:https://dev.to/christianascone/laravel-react-project-with-authentication-user-panel-in-less-than-a-minute-4cbm?1如有侵犯,請聯絡study_golang@163 .com刪除
最新教學 更多>
  • 如何解決由於Android的內容安全策略而拒絕加載腳本... \”錯誤?
    如何解決由於Android的內容安全策略而拒絕加載腳本... \”錯誤?
    Unveiling the Mystery: Content Security Policy Directive ErrorsEncountering the enigmatic error "Refused to load the script..." when deployi...
    程式設計 發佈於2025-05-19
  • 在PHP中如何高效檢測空數組?
    在PHP中如何高效檢測空數組?
    在PHP 中檢查一個空數組可以通過各種方法在PHP中確定一個空數組。如果需要驗證任何數組元素的存在,則PHP的鬆散鍵入允許對數組本身進行直接評估:一種更嚴格的方法涉及使用count()函數: if(count(count($ playerList)=== 0){ //列表為空。 } 對...
    程式設計 發佈於2025-05-19
  • Go語言垃圾回收如何處理切片內存?
    Go語言垃圾回收如何處理切片內存?
    Garbage Collection in Go Slices: A Detailed AnalysisIn Go, a slice is a dynamic array that references an underlying array.使用切片時,了解垃圾收集行為至關重要,以避免潛在的內存洩...
    程式設計 發佈於2025-05-19
  • 解決Spring Security 4.1及以上版本CORS問題指南
    解決Spring Security 4.1及以上版本CORS問題指南
    彈簧安全性cors filter:故障排除常見問題 在將Spring Security集成到現有項目中時,您可能會遇到與CORS相關的錯誤,如果像“訪問Control-allo-allow-Origin”之類的標頭,則無法設置在響應中。為了解決此問題,您可以實現自定義過濾器,例如代碼段中的MyFi...
    程式設計 發佈於2025-05-19
  • 為什麼Microsoft Visual C ++無法正確實現兩台模板的實例?
    為什麼Microsoft Visual C ++無法正確實現兩台模板的實例?
    The Mystery of "Broken" Two-Phase Template Instantiation in Microsoft Visual C Problem Statement:Users commonly express concerns that Micro...
    程式設計 發佈於2025-05-19
  • C++20 Consteval函數中模板參數能否依賴於函數參數?
    C++20 Consteval函數中模板參數能否依賴於函數參數?
    [ consteval函數和模板參數依賴於函數參數在C 17中,模板參數不能依賴一個函數參數,因為編譯器仍然需要對非contexexpr futcoriations contim at contexpr function進行評估。 compile time。 C 20引入恆定函數,必須在編譯時進...
    程式設計 發佈於2025-05-19
  • Java數組中元素位置查找技巧
    Java數組中元素位置查找技巧
    在Java數組中檢索元素的位置 利用Java的反射API將數組轉換為列表中,允許您使用indexof方法。 (primitives)(鏈接到Mishax的解決方案) 用於排序陣列的數組此方法此方法返回元素的索引,如果發現了元素的索引,或一個負值,指示應放置元素的插入點。
    程式設計 發佈於2025-05-19
  • 如何在Java字符串中有效替換多個子字符串?
    如何在Java字符串中有效替換多個子字符串?
    在java 中有效地替換多個substring,需要在需要替換一個字符串中的多個substring的情況下,很容易求助於重複應用字符串的刺激力量。 However, this can be inefficient for large strings or when working with nu...
    程式設計 發佈於2025-05-19
  • 哪種在JavaScript中聲明多個變量的方法更可維護?
    哪種在JavaScript中聲明多個變量的方法更可維護?
    在JavaScript中聲明多個變量:探索兩個方法在JavaScript中,開發人員經常遇到需要聲明多個變量的需要。對此的兩種常見方法是:在單獨的行上聲明每個變量: 當涉及性能時,這兩種方法本質上都是等效的。但是,可維護性可能會有所不同。 第一個方法被認為更易於維護。每個聲明都是其自己的語句,使...
    程式設計 發佈於2025-05-19
  • C++中如何將獨占指針作為函數或構造函數參數傳遞?
    C++中如何將獨占指針作為函數或構造函數參數傳遞?
    在構造函數和函數中將唯一的指數管理為參數 unique pointers( unique_ptr [2啟示。通過值: base(std :: simelor_ptr n) :next(std :: move(n)){} 此方法將唯一指針的所有權轉移到函數/對象。指針的內容被移至功能中,在操作...
    程式設計 發佈於2025-05-19
  • 如何將MySQL數據庫添加到Visual Studio 2012中的數據源對話框中?
    如何將MySQL數據庫添加到Visual Studio 2012中的數據源對話框中?
    在Visual Studio 2012 儘管已安裝了MySQL Connector v.6.5.4,但無法將MySQL數據庫添加到實體框架的“ DataSource對話框”中。為了解決這一問題,至關重要的是要了解MySQL連接器v.6.5.5及以後的6.6.x版本將提供MySQL的官方Visual...
    程式設計 發佈於2025-05-19
  • 如何干淨地刪除匿名JavaScript事件處理程序?
    如何干淨地刪除匿名JavaScript事件處理程序?
    刪除匿名事件偵聽器將匿名事件偵聽器添加到元素中會提供靈活性和簡單性,但是當要刪除它們時,可以構成挑戰,而無需替換元素本身就可以替換一個問題。 element? element.addeventlistener(event,function(){/在這里工作/},false); 要解決此問題,請考...
    程式設計 發佈於2025-05-19
  • 用戶本地時間格式及時區偏移顯示指南
    用戶本地時間格式及時區偏移顯示指南
    在用戶的語言環境格式中顯示日期/時間,並使用時間偏移在向最終用戶展示日期和時間時,以其localzone and格式顯示它們至關重要。這確保了不同地理位置的清晰度和無縫用戶體驗。以下是使用JavaScript實現此目的的方法。 方法:推薦方法是處理客戶端的Javascript中的日期/時間格式化和...
    程式設計 發佈於2025-05-19
  • Python不會對超範圍子串切片報錯的原因
    Python不會對超範圍子串切片報錯的原因
    在python中用索引切片範圍:二重性和空序列索引單個元素不同,該元素會引起錯誤,切片在序列的邊界之外沒有。 這種行為源於索引和切片之間的基本差異。索引一個序列,例如“示例” [3],返回一個項目。但是,切片序列(例如“示例” [3:4])返回項目的子序列。 索引不存在的元素時,例如“示例” [9...
    程式設計 發佈於2025-05-19
  • 為什麼儘管有效代碼,為什麼在PHP中捕獲輸入?
    為什麼儘管有效代碼,為什麼在PHP中捕獲輸入?
    在php ;?>" method="post">The intention is to capture the input from the text box and display it when the submit button is clicked.但是,輸出...
    程式設計 發佈於2025-05-19

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3