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

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

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

我最近在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刪除
最新教學 更多>
  • 為什麼HTML無法打印頁碼及解決方案
    為什麼HTML無法打印頁碼及解決方案
    無法在html頁面上打印頁碼? @page規則在@Media內部和外部都無濟於事。 HTML:Customization:@page { margin: 10%; @top-center { font-family: sans-serif; font-weight: ...
    程式設計 發佈於2025-07-01
  • `console.log`顯示修改後對象值異常的原因
    `console.log`顯示修改後對象值異常的原因
    foo = [{id:1},{id:2},{id:3},{id:4},{id:id:5},],]; console.log('foo1',foo,foo.length); foo.splice(2,1); console.log('foo2', foo, foo....
    程式設計 發佈於2025-07-01
  • 在C#中如何高效重複字符串字符用於縮進?
    在C#中如何高效重複字符串字符用於縮進?
    在基於項目的深度下固定字符串時,重複一個字符串以進行凹痕,很方便有效地有一種有效的方法來返回字符串重複指定的次數的字符串。使用指定的次數。 constructor 這將返回字符串“ -----”。 字符串凹痕= new String(' - ',depth); console.W...
    程式設計 發佈於2025-07-01
  • 查找當前執行JavaScript的腳本元素方法
    查找當前執行JavaScript的腳本元素方法
    如何引用當前執行腳本的腳本元素在某些方案中理解問題在某些方案中,開發人員可能需要將其他腳本動態加載其他腳本。但是,如果Head Element尚未完全渲染,則使用document.getElementsbytagname('head')[0] .appendChild(v)的常規方...
    程式設計 發佈於2025-07-01
  • PHP與C++函數重載處理的區別
    PHP與C++函數重載處理的區別
    作為經驗豐富的C開發人員脫離謎題,您可能會遇到功能超載的概念。這個概念雖然在C中普遍,但在PHP中構成了獨特的挑戰。讓我們深入研究PHP功能過載的複雜性,並探索其提供的可能性。 在PHP中理解php的方法在PHP中,函數超載的概念(如C等語言)不存在。函數簽名僅由其名稱定義,而與他們的參數列表無關...
    程式設計 發佈於2025-07-01
  • 如何避免Go語言切片時的內存洩漏?
    如何避免Go語言切片時的內存洩漏?
    ,a [j:] ...雖然通常有效,但如果使用指針,可能會導致內存洩漏。這是因為原始的備份陣列保持完整,這意味著新切片外部指針引用的任何對象仍然可能佔據內存。 copy(a [i:] 對於k,n:= len(a)-j i,len(a); k
    程式設計 發佈於2025-07-01
  • 如何在JavaScript對像中動態設置鍵?
    如何在JavaScript對像中動態設置鍵?
    在嘗試為JavaScript對象創建動態鍵時,如何使用此Syntax jsObj['key' i] = 'example' 1;不工作。正確的方法採用方括號: jsobj ['key''i] ='example'1; 在JavaScript中,數組是一...
    程式設計 發佈於2025-07-01
  • input: Why Does "Warning: mysqli_query() expects parameter 1 to be mysqli, resource given" Error Occur and How to Fix It?

output: 解決“Warning: mysqli_query() 參數應為 mysqli 而非 resource”錯誤的解析與修復方法
    input: Why Does "Warning: mysqli_query() expects parameter 1 to be mysqli, resource given" Error Occur and How to Fix It? output: 解決“Warning: mysqli_query() 參數應為 mysqli 而非 resource”錯誤的解析與修復方法
    mysqli_query()期望參數1是mysqli,resource給定的,嘗試使用mysql Query進行執行MySQLI_QUERY_QUERY formation,be be yessqli:sqli:sqli:sqli:sqli:sqli:sqli: mysqli,給定的資源“可能發...
    程式設計 發佈於2025-07-01
  • 表單刷新後如何防止重複提交?
    表單刷新後如何防止重複提交?
    在Web開發中預防重複提交 在表格提交後刷新頁面時,遇到重複提交的問題是常見的。要解決這個問題,請考慮以下方法: 想像一下具有這樣的代碼段,看起來像這樣的代碼段:)){ //數據庫操作... 迴聲“操作完成”; 死(); } ? > ...
    程式設計 發佈於2025-07-01
  • 在JavaScript中如何並發運行異步操作並正確處理錯誤?
    在JavaScript中如何並發運行異步操作並正確處理錯誤?
    同意操作execution 在執行asynchronous操作時,相關的代碼段落會遇到一個問題,當執行asynchronous操作:此實現在啟動下一個操作之前依次等待每個操作的完成。要啟用並發執行,需要進行修改的方法。 第一個解決方案試圖通過獲得每個操作的承諾來解決此問題,然後單獨等待它們: c...
    程式設計 發佈於2025-07-01
  • Java的Map.Entry和SimpleEntry如何簡化鍵值對管理?
    Java的Map.Entry和SimpleEntry如何簡化鍵值對管理?
    A Comprehensive Collection for Value Pairs: Introducing Java's Map.Entry and SimpleEntryIn Java, when defining a collection where each element com...
    程式設計 發佈於2025-07-01
  • Python元類工作原理及類創建與定制
    Python元類工作原理及類創建與定制
    python中的metaclasses是什麼? Metaclasses負責在Python中創建類對象。就像類創建實例一樣,元類也創建類。他們提供了對類創建過程的控制層,允許自定義類行為和屬性。 在Python中理解類作為對象的概念,類是描述用於創建新實例或對象的藍圖的對象。這意味著類本身是使用...
    程式設計 發佈於2025-07-01
  • 如何使用組在MySQL中旋轉數據?
    如何使用組在MySQL中旋轉數據?
    在關係數據庫中使用mySQL組使用mySQL組進行查詢結果,在關係數據庫中使用MySQL組,轉移數據的數據是指重新排列的行和列的重排以增強數據可視化。在這裡,我們面對一個共同的挑戰:使用組的組將數據從基於行的基於列的轉換為基於列。 Let's consider the following ...
    程式設計 發佈於2025-07-01
  • 您如何在Laravel Blade模板中定義變量?
    您如何在Laravel Blade模板中定義變量?
    在Laravel Blade模板中使用Elegance 在blade模板中如何分配變量對於存儲以後使用的數據至關重要。在使用“ {{}}”分配變量的同時,它可能並不總是最優雅的解決方案。 幸運的是,Blade通過@php Directive提供了更優雅的方法: $ old_section =...
    程式設計 發佈於2025-07-01
  • Go語言垃圾回收如何處理切片內存?
    Go語言垃圾回收如何處理切片內存?
    Garbage Collection in Go Slices: A Detailed AnalysisIn Go, a slice is a dynamic array that references an underlying array.使用切片時,了解垃圾收集行為至關重要,以避免潛在的內存洩...
    程式設計 發佈於2025-07-01

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

Copyright© 2022 湘ICP备2022001581号-3