中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

Hello Laravel! Laravel 入門教程

Hello Laravel! 準備

什么是 Laravel?

Laravel 是(shi)一個基于(yu) PHP 的開源(yuan) web 應用程序(xu)框架,由(you) Taylor Otwell 創建并于(yu) 2011 年首次發布。它遵循(xun) MVC(模型-視圖-控制器)設計模式,旨在幫助開發者構建優雅、簡潔且易于(yu)維(wei)護(hu)的 web 應用程序(xu)。

為什么選擇 Laravel?

優雅的語法

Laravel 以其簡(jian)潔和(he)易讀(du)的(de)(de)(de)代碼(ma)風格著稱,使開(kai)發者能夠以最小的(de)(de)(de)代碼(ma)編寫(xie)出功能強大的(de)(de)(de)應用程序。它(ta)的(de)(de)(de)語法(fa)簡(jian)潔明了,減少了開(kai)發者的(de)(de)(de)工(gong)作量,并提高了代碼(ma)的(de)(de)(de)可(ke)讀(du)性(xing)和(he)可(ke)維護性(xing)。

豐富的功能

Laravel 提供了許(xu)多開箱(xiang)即用的功(gong)能,如:

  • 路由系統:定義應用程序的 URL 路徑和對應的控制器。
  • Eloquent ORM:一個強大的 ActiveRecord 實現,用于處理數據庫操作。
  • Blade 模板引擎:一個簡單、靈活的模板引擎,用于生成 HTML。
  • 中間件:方便處理 HTTP 請求的過濾和修改。
  • 任務調度:通過 Cron 作業自動執行任務。

強大的社區支持

Laravel 擁(yong)有一個(ge)活(huo)躍且龐大(da)的(de)社(she)區,豐富的(de)文檔(dang)和大(da)量的(de)第三方包和插件(jian),使開(kai)發者可以輕松找到所需(xu)的(de)資(zi)源和解決方案(an)。官方還提供了詳細的(de)文檔(dang)和教程,幫助新(xin)手(shou)快(kuai)速上手(shou)。

安全性

Laravel 在開發(fa)過程(cheng)中考慮到了(le)許多常見的(de)安全問(wen)題,如 SQL 注(zhu)入(ru)、跨(kua)站請求偽造(CSRF)和跨(kua)站腳本攻擊(XSS)。框(kuang)架(jia)內置(zhi)了(le)各種工具和機制(zhi)來保護應用程(cheng)序的(de)安全。

易于擴展

由(you)于 Laravel 的模塊化設計和靈活的架構,開發者可以(yi)根據需(xu)要輕(qing)松擴展和定制框架。無論是添加新功(gong)能還(huan)是集成第三方(fang)服務,Laravel 都提供(gong)了方(fang)便的接口(kou)和工(gong)具。

Laravel 的流行程度

Laravel 的(de)流行程度可(ke)以通過(guo) GitHub 的(de) star 數等指(zhi)標來衡量。截至 2024 年,Laravel 在 GitHub 上擁有(you)超(chao)過(guo) 74k 個 stars,顯示了其在開發者社區中(zhong)的(de)廣泛接受度。

為(wei)了更(geng)好(hao)地理(li)解 Laravel 的(de)受歡迎程度,我們可以將其(qi)與其(qi)他(ta)流(liu)行的(de) web 框(kuang)架進行比較:

其他流行的 Web 框架對比

  • Django (Python):Django 是一個高層次的 Python web 框架,專注于快速開發和簡潔的設計。截至 2024 年,Django 在 GitHub 上有約 72k 個 stars。
  • Ruby on Rails (Ruby):Ruby on Rails 是一個流行的 Ruby web 框架,強調開發效率和代碼優雅。截至 2024 年,Rails 在 GitHub 上有約 53k 個 stars。
  • Spring Boot (Java):Spring Boot 是一個基于 Java 的框架,用于創建獨立的、生產級的 Spring 應用程序。截至 2024 年,Spring Boot 在 GitHub 上有約 69k 個 stars
  • Express (Node.js):Express 是一個基于 Node.js 的快速、簡潔的 web 框架,適用于構建單頁、多頁和混合 web 應用程序。截至 2024 年,Express 在 GitHub 上有約 62k 個 stars。

通過與(yu)這些(xie)流行框架的對比,可以(yi)看出 Laravel 在 web 開發社(she)區(qu)中擁有很(hen)高的知名度(du)和廣泛的使用基礎。

環境準備

以下步驟均在 Windows10 下完(wan)成

首先在學習 Laravel 之前,需要準備必要的環境,這次入門教程以最新的 Laravel 版本作為開發基礎,也就是 Laravel11,它所需要的 PHP 版本環境最低要求是 >=8.2, 不光是 PHP,Laravel 作為全棧框架還需要 Node 環境。本次課程還需要用 NginxMysql 等環境。所以為了簡化入門教程的帶來的環境困惱,在這里我們選擇了集成這些軟件包的開發軟件,當然如果你是使用其他的軟件,例如 wamp phpstudy 之類(lei)的也是(shi)可(ke)以的。

下載 Laragon

選擇下面的版本安裝
Laragon 完全版本下載-Laravel 入門學習
下(xia)載(zai)成功(gong)之后,按照提示直接點(dian)擊下(xia)一步下(xia)一步安(an)裝即可。再 Laraegon 安(an)裝成功(gong)之后,你會看(kan)到(dao)軟(ruan)件界(jie)面

注意(yi)一定要記住 Laragon 安裝的目錄

看到下面的界面,就算是安裝成功了
Laragon 軟件界面-Laravel 入門學習

設置工作目錄

這一(yi)步非常重要,一(yi)定要設置(zhi)好,因為 Laragon 會幫根據(ju)文件目錄名(ming)稱自動創建(jian)虛擬(ni)主機(ji),就省的自己(ji)去設置(zhi)虛擬(ni)域名(ming)之類的了。

點擊右上角的設置
設置工作目錄
然后會看到下面的界面,根據自己實際的項目目錄設置對應的值
設置工作目錄
如圖,本人所有的項目都設置在 C 盤的 project 目錄,所以在之后安裝 Laravel 項目的時候,我都會在 c:\project 目錄下安裝

添加 PHP 版本

由于需要使用 PHP >= 8.2 版(ban)(ban)本,所以(yi)這(zhe)里需(xu)要安裝添加一(yi)個 8.2 版(ban)(ban)本,Laragon 添加 PHP 版(ban)(ban)本非常簡單。可以(yi)到 PHP 軟件包下載頁面

找到對應版本,這里選擇線程安全版本 VS16 x64 Thread Safe (2024-May-08 07:21:58)
PHP8.2版本
點擊 zip 下載 ?

下載之后,找到 Laragon 的安裝目錄,找到目錄下的 bin\php 目錄,然后復制上面下載好的 PHP zip 包到該目錄
laravel入門學習
直接解壓到當前目錄即可,解壓完成之后呢,找到 windows 右下角的圖標,如下圖所示
laravel入門學習
右擊 Laragon 的圖標,然后選擇 PHP,如圖,選擇對應的 PHP 版本即可
laravel入門學習
然后再 Laragon 軟件,點擊啟動 nginxmysql,那么項目所需要的環境就已經安裝好了
laravel入門學習

設置環境變量

找到編輯環境變量配置,打開它
laravel入門學習 設置環境變量
點擊環境變量
laravel入門學習 設置環境變量
找到 path 變量,然后點擊它
laravel入門學習 設置環境變量
然后再點擊新建,在復制你自己本地的 PHP 版本解壓后的目錄地址 C:\software\laragon\bin\php\php-8.2.15-Win32-vs16-x64(這是本人的本機目錄) 粘貼到新建的變量中
laravel入門學習 設置環境變量
打開 cmd 運行 php -v, 你會看到下面的輸出就代表成功了
laravel入門學習 設置環境變量

這里我建議不要使用 windows 自帶的命令行,使用 Laragon 帶的 cmder 更好。

因為支持 Linux 相關命令,用起來(lai)更順手。而且可以隨(sui)意(yi)設置 PHP 版本,不需(xu)要設置環境變量(liang)(需(xu)要重新(xin)打開一個新(xin)的 cmder)。

打開 Laragon 軟件界面,如下圖,點擊它
laravel入門學習 設置環境變量
然后看到軟件界面如下
laravel入門學習 設置環境變量

Composer 安裝

第(di)二步(bu),安(an)裝 Composer。composer 安(an)裝比較簡單,只需要到(dao)下載的頁面即可(ke)

點擊下(xia)(xia)面的所指下(xia)(xia)載安裝

Composer 安裝-Laravel入門學習

下載完成之后,雙擊 exe,點擊下一步下一步即可完成安裝即可,安裝完成之后呢,打開 cmder,輸入下面的命令

composer -v

Composer 安裝-Laravel入門學習

安裝成功之后,還需要設置(zhi)鏡像,目前據(ju)我(wo)所知,華為鏡像更新的(de)比較及時,可以復制下面(mian)的(de)命令(ling)的(de)設置(zhi)鏡像

composer config -g repo.packagist composer //repo.huaweicloud.com/repository/php/

設置(zhi)好鏡像之后,來安裝(zhuang)初始(shi)化(hua) Laravel 的初始(shi)化(hua)項(xiang)目,首(shou)先我們安裝(zhuang) Laravel 項(xiang)目安裝(zhuang)器,使用(yong)下面的命令

composer global require laravel/installer

執行命令之后,等(deng)待安裝(zhuang)完(wan)成即(ji)可(ke)。安裝(zhuang)完(wan)成之后,使用(yong)下面的命令

Laravel -v

會有如圖輸出
laravel 入門學習 laravel 安裝器

初始化 Laravel 項目

Laravel 安裝器安裝完成之后,我們就可以來安裝 Laravel 項目了。還記得上面說的設置工作目錄嗎?現在我要在 c:\project 目(mu)錄(lu)下創建新(xin)項目(mu)。所以要(yao)求(qiu)你(ni)也需要(yao)在你(ni)自己實際的設置的工作目(mu)錄(lu)下,使(shi)用下面的命令(ling)來創建項目(mu)

laravel new lara-study

按照如圖所示,選擇對應的選項進行安裝。這里我們盡量簡單的來,不使用任何包裝的包,盡量以原生框架開發
laravel 入門學習 創建 Laravel 項目
然后中途會有提示使用什么數據庫驅動,如下圖,教程使用 Mysql,圖片安裝上選擇了 yes,出現了報錯,這個錯誤可以忽略。為了避免誤解,請各位在安裝時候輸入
no
初始化 Laravel 項目laravel 入門學習 創建
輸入完(wan)成(cheng)之后,繼續等待它安裝完(wan)成(cheng)就(jiu)行(xing)了。

完成之后,記得重啟 Laragon,在自動創建虛擬主機,如下圖,點擊停止之后,再點擊啟動將會自動創建虛擬機
初始化 Laravel 項目laravel 入門學習 創建
Laragon 會創建一個以目錄名稱命名的lara-study.test虛擬域名,直接直接通過它訪問項目。如果你出現如下圖的報錯,請不要擔心,只是數據沒有配置而已,等會下面來配置數據庫信息
初始化 Laravel 項目laravel 入門學習 創建

配置數據庫

本教程使(shi)用的(de) Mysql 數(shu)據庫作為(wei)驅動,所以數(shu)據庫配置 Mysql 即可。找到右下角的(de) Laragon 軟件,如(ru)圖(tu)所示,修(xiu)改 mysql 的(de) root 密碼。

更(geng)換的時候必須停止 Mysql 服務,軟件(jian)會有提示

配置數據庫 laravel 入門學習
設置本地的 root 密碼,設置完成之后再啟動就可以了。
配置數據庫 laravel 入門學習

下面使用你常用的編輯器打開項目,我這里使用的是 phpstorm IDE 打開。找到 .env 文件,如下所示
配置數據庫 laravel 入門學習

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=lara_study // 數據庫名稱
DB_USERNAME=root
DB_PASSWORD= // 配置你剛才設置 root 密碼

配置(zhi)完成(cheng)之后,先(xian)不著急(ji)訪問項目(mu),我們先(xian)執(zhi)行(xing)下(xia)一個命(ming)令,來創建數(shu)據(ju)(ju)庫,因為現在鏈接了數(shu)據(ju)(ju)庫,但沒(mei)有(you) database 還沒(mei)有(you)設置(zhi),所以依然是報錯的狀態(tai)。在項目(mu)根目(mu)錄,執(zhi)行(xing)下(xia)面的命(ming)令

php artisan migrate

執行命令之后,會詢問你是否創建數據庫,直接回車或者填寫 yes 自動創建數據庫
配置數據庫 laravel 入門學習

執行成功之后,再來訪問 lara-study.test 域名,哦豁!!!歡迎來到 Laravel ?? !!! Welcome !!!
laravel 入門學習 成功訪問 Laravel

目錄結構

app 目錄

app 目錄(lu)包(bao)含(han)您(nin)應用程序的核心(xin)代碼(ma)。我們很(hen)快(kuai)會更詳(xiang)細地探索這個目錄(lu);然而,您(nin)應用程序中幾乎所有的類(lei)都將位于此目錄(lu)。

app 目(mu)錄(lu)就是(shi)我們實(shi)現功能(neng)開發(fa)的目(mu)錄(lu)

bootstrap 目錄

bootstrap 目錄包含引導框架的 app.php 文件。此目錄還包含一個 cache 目錄,其(qi)中包含用于性(xing)能優化的框架(jia)生成文(wen)件,例如路由(you)和服務緩存(cun)文(wen)件。

config 目錄

顧名思義,config 目錄包(bao)含您(nin)應用程序的所(suo)(suo)有(you)配(pei)置文件(jian)。通讀所(suo)(suo)有(you)這(zhe)些文件(jian)并熟悉(xi)您(nin)可用的所(suo)(suo)有(you)選(xuan)項是個好主意。

config 目(mu)錄在之后開發(fa)過程中探索

database 目錄

database 目(mu)錄(lu)包含您(nin)的數據(ju)庫遷移(yi)、模型工(gong)廠和種子文件。如果(guo)您(nin)愿意,還可(ke)以使用此(ci)目(mu)錄(lu)來保存 SQLite 數據(ju)庫。

該(gai)目錄主要實(shi)現創建數(shu)據庫表(biao)的遷移文件

public 目錄

public 目錄包含 index.php 文件,這是所有請求進(jin)入您應用(yong)程序的(de)入口(kou)點,并配置自動(dong)加載。此目(mu)錄還(huan)包含(han)您的(de)資產,如圖像、JavaScript 和(he) CSS。

resources 目錄

resources 目錄包含您(nin)的視圖以及原始(shi)的、未編譯的資產,如 CSS 或 JavaScript。

routes 目錄

routes 目錄包含您應用程序的所有路由定義。默認情況下,Laravel 附帶了兩個路由文件:web.phpconsole.php

web.php 文件包含 Laravel 放置在 web 中間件組中的路由,該組提供會話狀態、CSRF 保護和 cookie 加密。如果您的應用程序不提供無狀態的、RESTful API,則您的所有路由很可能都將在 web.php 文件中定義。

console.php 文件是您可以定義所有基于閉包的控制臺命令的地方。每個閉包都綁定到一個命令實例,允許簡單地與每個命令的 IO 方法進行交互。盡管此文件不定義 HTTP 路由,它定義了基于控制臺的應用程序入口點(路由)。您還可以在 console.php 文件中安排任務。

storage 目錄

storage 目錄包含您的日志、編譯的 Blade 模板、基于文件的會話、文件緩存以及框架生成的其他文件。此目錄分為 appframeworklogs 目錄。app 目錄可用于存儲應用程序生成的任何文件。framework 目錄用于存儲框架生成的文件和緩存。最后,logs 目錄包含您應(ying)用(yong)程序的(de)日志文件。

storage/app/public 目錄可用于存儲用戶生成的文件,如應該公開訪問的個人資料頭像。您應該在 public/storage 創建指向此目錄的符號鏈接。您可以使用 php artisan storage:link Artisan 命令(ling)創(chuang)建鏈接。

tests 目錄

tests 目錄包含您的自動化測試。默認情況下提供了 或 單元測試和功能測試示例。每個測試類應以 Test 單詞為后綴。您可以使用 /vendor/bin/pest/vendor/bin/phpunit 命令運行測試。或者,如果您希望對測試結果有更詳細和美觀的表示,您可以使用 php artisan test Artisan 命令運(yun)行測試(shi)。

vendor 目錄

vendor 目錄(lu)包含(han)您的 依賴項。

不必為這么多文件夾感到害怕,實際上在開發過程中與我們打交道的最多的就是 App 目錄和 routes 目錄。至(zhi)(zhi)于其他目錄,至(zhi)(zhi)少在(zai)現在(zai)可(ke)以(yi)放(fang)一放(fang),沒必(bi)要太(tai)關注(zhu)。

那么到這里,關于 Laravel 初始化的過程已經全部講解結束,還順帶了解了下 Laravel 的目錄結構。當然在后續篇章中,我們不會立即講解框架的一些概念,例如容器服務提供者 門面 之類(lei)的(de)(de)晦澀(se)難懂的(de)(de)概念,因為這對于入門(men)教(jiao)程來(lai)(lai)說是不需(xu)要去深(shen)入了解的(de)(de)。但是如果涉(she)及到相(xiang)關(guan)的(de)(de)概念,教(jiao)程也(ye)會指出來(lai)(lai)。教(jiao)程的(de)(de)目(mu)的(de)(de)是盡快能讓你使用框架開發出來(lai)(lai)一個項目(mu),能夠(gou)將(jiang)自(zi)己的(de)(de)想法用 Laravel 表(biao)達出來(lai)(lai)。

后(hou)面案(an)例代(dai)碼將會標(biao)記其所在文件相(xiang)對路徑,以根目錄為參考(kao)物。例如(ru)

// app/Htttp/HelloController

somecode

posted @ 2024-05-20 08:35  JaguarJack  閱讀(147)  評論(0)    收藏  舉報