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

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

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

我最近在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刪除
最新教學 更多>
  • 何時應在 Python 中使用多個 if 與 If-elif 語句以獲得最佳效能?
    何時應在 Python 中使用多個 if 與 If-elif 語句以獲得最佳效能?
    Python 中的多個If 與Elif 語句在Python 中,在評估條件語句時,可以使用多個if 語句或單一if -elif 聲明。雖然兩種方法可以實現相同的結果,但存在一些可能影響程式碼效率的關鍵差異。 在您提出的場景中:if text == 'sometext': print(text...
    程式設計 發佈於2024-11-08
  • 如何在 Node.js 中提前退出 forEach 迴圈?
    如何在 Node.js 中提前退出 forEach 迴圈?
    如何中斷Node.js forEach 循環在需要遞歸遍歷嵌套資料結構並對每個元素執行操作的情況下,您可以使用遞歸和forEach的組合。但是,在某些情況下,您可能需要提前退出 forEach 迴圈。 與 break 或 continue 語句的常規迴圈不同,forEach 缺乏停止迭代的內建機制。...
    程式設計 發佈於2024-11-08
  • Day f Brylnt:Next.js 與 Remix
    Day f Brylnt:Next.js 與 Remix
    大家好!我知道這與Brylnt 的製作並不直接相關,但在決定使用哪個框架時我遇到了一些問題,我想我應該分享我對兩個流行競爭者的想法:Next.js和混音. 這兩個框架都很優秀,根據專案的不同,任何一個都可能是正確的選擇。由於我使用的是 T3 Stack,其中包括 Next.js,我自然傾向於它,但我...
    程式設計 發佈於2024-11-08
  • 學習 CSS 網格:包含大量範例的簡單指南
    學習 CSS 網格:包含大量範例的簡單指南
    Hey there! If you've ever felt like CSS Grid is a bit like trying to solve a Rubik's Cube blindfolded, you're not alone. I'm Eleftheria, and today, I'...
    程式設計 發佈於2024-11-08
  • 如何在 JavaScript 中強制刷新網頁並繞過快取?
    如何在 JavaScript 中強制刷新網頁並繞過快取?
    使用 JavaScript 硬刷新目前頁面強制 Web 瀏覽器透過 JavaScript 硬刷新頁面可確保取得頁面的全新副本並更新其所有外部資源。 為了實現這一點,JavaScript 提供了一個名為 location.reload(true) 的方法。當傳遞 true 值時,此方法指示瀏覽器繞過其...
    程式設計 發佈於2024-11-08
  • 什麼是 PATH_INFO 以及它如何增強 PHP Web 應用程式?
    什麼是 PATH_INFO 以及它如何增強 PHP Web 應用程式?
    深入研究PATH_INFO:揭示其在PHP Web 應用程式中的作用在Web 開發領域,PHP 是一個強大的工具,用於建立動態和互動式應用程式。它的全部功能之一是名為 PATH_INFO 的神秘變數。儘管經常被提及,但許多人仍然難以理解其確切作用。本文深入研究 PATH_INFO,闡明其目的、實用程...
    程式設計 發佈於2024-11-08
  • 如何使用 Connector .NET 檢索 MySQL 中的最後一個插入 ID?
    如何使用 Connector .NET 檢索 MySQL 中的最後一個插入 ID?
    使用Connector .NET 在MySql 中檢索最後一個插入ID在MySql 中,最後一個插入ID 是指分配給新插入的標識符排。該值在某些情況下可能很有價值,例如填充外鍵關係。 最初,假設 MySqlHelper 類別的 ExecuteNonQuery 方法傳回最後一個插入 ID。然而,這個假...
    程式設計 發佈於2024-11-08
  • 如何在 PHP 中使用 cURL 取得 API 回應?
    如何在 PHP 中使用 cURL 取得 API 回應?
    在PHP 中使用cURL 取得API 回應在PHP 中,您可以建立一個獨立的類,其中包含透過cURL 呼叫API的函數並獲得響應。以下是實現此目的的方法:class ApiRequest { public function getResponse($url) { // Set cURL ...
    程式設計 發佈於2024-11-08
  • Ansible 入門 - 初學者指南:日復一日的 DevOps 工具系列
    Ansible 入門 - 初學者指南:日復一日的 DevOps 工具系列
    欢迎来到我们的“50 天 50 个 DevOps 工具”系列的第 30 天!今天,我们将探索 Ansible,它是 DevOps 工具包中最重要的工具之一。本博客将向您介绍 Ansible 的基础知识,分解其关键组件并向您展示如何从简单的示例开始。我们会让事情简单明了,使其成为初学者的完美起点。 ...
    程式設計 發佈於2024-11-08
  • 什麼是CPU暫存器
    什麼是CPU暫存器
    什麼是暫存器: 電腦暫存器是電腦中央處理單元 (CPU) 內的小型高速儲存單元,用於暫時保存資料和指令,以便在處理過程中快速存取。它們是直接影響 CPU 運算速度和效率的重要元件。 暫存器的存取速度比記憶體更快,因為它們位於 CPU 內部。這種接近性允許更快的資料檢索和處理。 暫存器記憶體是電腦...
    程式設計 發佈於2024-11-08
  • 折疊還是雙折?這是一個技術問題!
    折疊還是雙折?這是一個技術問題!
    我們現在不能停下來,因為我們已經投資了 1 倍,但多年來讓我們繼續投入 100 倍!斯托克斯! JavaScript 範例 你可能以前聽說過,但 Javascript 是在 10 天內寫成的。它的採用率迅速增長,即使在使用該語言幾年後,他們也不想引入重大變化……所以,現在該語言已經...
    程式設計 發佈於2024-11-08
  • 動態 Getter 和 Setter 如何增強 JavaScript 的靈活性?
    動態 Getter 和 Setter 如何增強 JavaScript 的靈活性?
    在 JavaScript 中實作動態 Getter 和 Setter:指南在傳統 JavaScript 中,getter 和 setter 是為特定屬性名稱定義的。但是,可以使用 ES2015 中引入的代理程式建立更靈活的動態 getter 和 setter。 使用代理的動態 getter 和 se...
    程式設計 發佈於2024-11-08
  • 如何在 Go 中將類型變數傳遞給函數進行類型斷言?
    如何在 Go 中將類型變數傳遞給函數進行類型斷言?
    將類型變數傳遞給函數進行型別斷言您希望透過將型別傳遞給函式來執行型別斷言。本質上,您的目標是實現以下目標:// Note that this is pseudocode, because Type isn't valid here func myfunction(mystring string, m...
    程式設計 發佈於2024-11-08
  • 從輸入欄位取得文字..
    從輸入欄位取得文字..
    Java代碼 public class MainActivity extends AppCompatActivity { Button btn; TextView textView; @Override protected void onCreate(Bundle s...
    程式設計 發佈於2024-11-08
  • PSD 批次編輯器
    PSD 批次編輯器
    大家好!我正在分享我在過去幾個月開發的這個新軟體。 我希望它可以幫助一些人,有些人可能有興趣幫助我改進它。我想添加很多功能,所以請隨時告訴我您希望在軟體中看到什麼。 在技術方面,我開始這個專案是為了嘗試在我的程式碼中實現一些設計模式,並更好地建立架構。這也是我第一次使用QT(我在過去的GUI專案...
    程式設計 發佈於2024-11-08

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

Copyright© 2022 湘ICP备2022001581号-3