Laravel 從入門到精通 創建並運行一個新的 Laravel 項目


創建一個新的 Laravel 項目

正如官方文檔所言,有兩種方式可以創建一個新的 Laravel 項目,這兩種創建方式都是從命令行執行的:第一種是通過全局的 Laravel 安裝器,另一種是通過 Composer 的 create-project 命令。

推薦使用第一種方式,比較簡單,而執行這兩種方式之前,都需要系統已經安裝過 PHP 和 Composer(如果使用 Valet 或 Laragon 的話,則應該已經安裝過了,如果使用的是 Homestead 或 Laradock 的話,宿主環境也要安裝下,便於后續操作,如果未曾安裝,請參考 Valet 和 Laragon 安裝教程)。

使用 Laravel 安裝器安裝

安裝 Laravel 安裝器很簡單,在命令行執行以下命令即可(如果已經安裝過,會自動進行更新):

composer global require laravel/installer 

安裝完成后,后續就可以通過 laravel new [項目名稱] 來創建新的 Laravel 項目了:

laravel new blog

該命令會在當前目錄下創建一個新的名為 blog 的應用:

使用 Composer create-project 命令安裝

除此之外,還可以通過 Composer 自帶的 create-project 命令來安裝新應用:

composer create-project laravel/laravel blog --prefer-dist

效果和上面使用安裝器安裝的一樣,使用這個方式安裝的一個好處是可以安裝舊版本的 Laravel 項目,比如要安裝 5.6 版本的項目 blog56 ,可以這么做:

composer create-project laravel/laravel blog56 5.6.* --prefer-dist

Laravel 應用的目錄結構

安裝完成后,我們來看一下新安裝 Laravel 項目 blog 的目錄結構:

目錄

根目錄默認包含一下一級子目錄:

  • app:存放應用核心代碼,如模型、控制器、命令、服務等
  • bootstrap:存放 Laravel 框架每次啟動時用到的文件
  • config:用於存放項目所有配置文件
  • database:存放數據庫遷移和填充類文件
  • public:Web 應用入口目錄,用於存放入口文件 index.php 及前端資源文件(CSS、JS、圖片等)
  • resources:用於存放與非 PHP 資源文件,如視圖模板、語言文件、待編譯的 Vue 模板、Sass、JS 源文件
  • routes:項目的所有路由文件都定義在這里
  • storage:用於存放緩存、日志、上傳文件、已經編譯過的視圖模板等
  • tests:存放單元測試及功能測試代碼
  • vendor:通過 Composer 安裝的依賴包都存放在這里,通常該目錄會放到 .gitignore 文件里以排除到版本控制系統之外

注:更多關於目錄結構的信息,可參考官方文檔

文件

  • .env.example/.env:用於配置環境變量,.env.example 是一個示例模板,而 .env 是真正的配置文件,由於包含敏感信息,通常也將其放到 .gitignore 文件中。
  • artisan:允許你在項目根目錄下通過 php artisan 執行 Artisan 命令
  • .gitignore 和 .gitattributes:Git 配置文件
  • composer.json 和 composer.lock:Composer 配置文件
  • webpack.mix.js:Laravel Mix Webpack 配置文件,用於編譯和打包前端資源
  • package.json:配置前端資源依賴和腳本(類似於 composer.json 之於 PHP)
  • phpunit.xml:PHPUnit 配置文件
  • server.php:用於通過 php artisan serve 啟動 PHP 內置服務器進行一些簡單的本地預覽
  • yarn.lock:類似於 composer.lock 之於 Composer,指定 NPM 包版本
  • .editorconfig:用於在不同 IDE 或編輯器中維護代碼風格的一致性

配置

Laravel 應用的一些核心配置,比如數據庫、隊列、郵件等,都位於 config 目錄下,通過配置文件名稱就可以很直觀地甄別出不同的服務配置。這些配置文件都會返回一個數組,數組中的每個值都可以通過配置鍵獲取(配置鍵以配置文件名為前綴,以「.」號分隔數組層級),例如,如果你在 config/services.php 中定義了如下配置:

// config/services.php 
return [
    'sparkpost' => [
        'secret' => env('SPARKPOST_SECRET'),
    ],
];

然后,你就可以通過 config('services.sparkpost.secret') 來訪問配置值。

如上例所示,所有的因環境而異的變量配置值(尤其是敏感信息)都應該存放到根目錄下的 .env 環境變量文件中:

SPARKPOST_SECRET = xyj_laravelacademy.org

然后在配置文件中通過 env() 輔助函數傳入鍵名 SPARKPOST_SECRET 來獲取,這樣做有兩個好處:一是將敏感信息存放到版本控制系統(如 Git、Svn)之外,提高了系統的安全性;此外還可以方便我們在不同環境中(每個環境有自己獨立的 .env 文件)使用不同的配置值,提高了代碼的復用性和靈活性。

注:更多配置信息請參考官方文檔

運行

安裝好 Laravel 項目,了解了目錄結構及其作用,以及如何對項目進行配置后,我們就可以運行這個應用了,啟動方式因開發環境而異,我們在前面的 Homestead、Laradock、Valet 以及 Laragon 中已經分別演示過了,這里不再贅述,我們以 Laradock 為例,通過配置項目域名為 blog.test,在瀏覽器中訪問 http://blog.test,即可看到應用首頁:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM