Laravel

PHP:7.2

Laravel:5.7

Laravel 是基於 MVC 架構模式打造的框架,當中提供了許多讓開發者更有效率的工具和功能。例如:Artisan 系列的相關指令、Blade template engine、Routing 等等;完整的功能加上現在 PHP 框架的主流是使用 Laravel,因此公司就從善如流的引進使用。

Step 1 - Create Project

建立 Laravel Project 的方式有兩種,一種是安裝 laravel/installer,再透過 laravel 指令安裝;另一種是直接透過 composer 安裝。

Via Composer

composer create-project --prefer-dist laravel/laravel {project-name}

建立完 Project 以後,可以會看到幾個主要目錄結構和檔案,以下概略地說明每個目錄檔案的作用:

├── app
├── bootstrap
├── config
├── database
├── public
├── resources
├── routes
├── storage
├── tests
├── .env
└── artisan
名稱 功用
app 存放專案主要的邏輯的目錄,舉凡 Controller、Model、Proivder 都放在此處。
bootstrap 存放 Laravel bootstrap 邏輯。
config 存放 Sessoin 及連線的設定檔。
database 存放 DB migration 相關邏輯。
public 網站進入點。
resources 存放 View、Assets(CSS、JS)、語系。
routes 存放網站 routing 的邏輯
storage 存放 log、Sesson cache等相關資訊。
tests 存放 TestCase。
.env Laravel Project 設定檔,用來紀錄一些常數設定和 APP_KEY
artisan Laravel 內建的指令工具,它提供一些快速的指令方便開發者開發。

Step 2 - Directory Permissions

Laravel 在執行時,storageboostrap/cache 這兩個目錄可能會由 Web Server 端寫入資訊(Log 、 Sessoin等等)。如果是在自己的開發環境運作時,記得調整這兩個目錄的寫入權限。

Step 2.5 - Check APP_KEY.env

.env 是Laravel Project 設定檔,用來紀錄一些常數設定,且該設定檔並不會進入 git commit。

Laravel Application Key 是 Laravel 運作的必要條件,例如 Session、Cache 的 id 都會透過 APP_KEY 去 hash 產生。.envAPP_KEY 沒有填的話就網站就會無法運作。

在使用 Step 1 直接建立新 Project 的情況下,Laravel 安裝的 script 會自動幫你產生 .envAPP_KEY(可參考 composer.json 中的 scripts -> post-root-package-install 及 post-create-project-cmd)。

如果是 clone 舊專案的話,就必須手動自己來了。

# 從 example copy 一份成 .env,並修改設定
cp .env.example .env

# 透過 artisan 產生 APP_KEY
php artisan key:generate

測試

以上都完成以後,就可以使用瀏覽器連連看是否可以正常運作。

Categories: Laravel