PHP Laravel 安裝教學

Kion
8 min readMay 11, 2020

--

https://medium.com/@hosomikai/laravel-php-%E8%A7%A3%E6%B1%BA-env-%E5%8F%96%E5%87%BA%E7%9A%84%E5%80%BC%E7%82%BAnull-33a1aefa3d55

目次

1. 安裝 Composer
2. 安裝 Laravel
3. 建立專案資料夾
4. 開啟伺服器

最近開始因為工作的關係開始學習後端的部分
在前輩這邊的專案也開始接觸到 PHP
當然講到 PHP 一定會提到的就是他最著名的框架 Laravel

什麼時候需要使用 PHP 框架?

當專案需要使用 MVC 架構開發時
PHP 框架最主要就是方便開發者更快速地上手 MVC 架構開發
所謂的 MVC 架構簡單來說就是將後端程式的邏輯,拆分成:Model、Controller、View
利用 Controller 將程式邏輯隱藏在背後,各司其職讓架構更整潔
下圖為 Laravel 簡易的 MVC 架構圖

https://blog.kerul.net/2017/12/laravel.html

了解使用框架的主要目的後
就來簡單開箱 Laravel 提供哪些工具可以使用吧

  1. Artisan 指令
    Artisan 是 Laravel 自己的命令行工具,方便創建開發所需的 Model、Controller 和其他資源,甚至可以編寫自己的命令來擴展 Artisan
  2. Blade 樣板引擎(View)
    模板解析的工具,很多框架都有自己的模板引擎,Laravel 使用的正是其中一項 — — Blade。
    Blade 為將 PHP 與 HTML 完整分離的解決工具
    編譯時,將相應的模板語法利用正則替換成 PHP 語句,然後儲存成 PHP 檔
  3. Routing 路由機制
    管理網址與頁面的路徑指定
    辨別傳入的 request 傳送至對應的 Controller ,回傳指定的 View
  4. Auth 認證
    透過 Laravel 預設提供的認證 Controller 快速解決經常用到的驗證需求
    像是:
    使用者註冊、使用者認證、重置密碼的 e-mail 連結、重置密碼的邏輯
  5. Eloquent ORM 物件關聯對映(Model)
    Laravel 預設的 ORM,將資料庫的欄位映射成物件(Model 模型)
    只需使用 PHP 的語法,不必撰寫 SQL 指令就能用物件的方式撰寫讀取欄位資訊與資料庫互動
  6. Migration 資料庫搬遷
    聽起來很像是更換資料庫,但他其實是一種資料庫的版本控制,可以讓團隊在修改資料庫結構的同時,保持彼此的進度一致
    通常會和 結構生成器 一起使用,可以簡單的管理資料庫結構

安裝 Composer

在安裝 Laravel 之前必須先安裝 Laravel 依賴管理工具 — — Composer
安裝方式十分簡單
他可以針對各個專案建立,也可以建立在全域,本文以全域安裝為例

專案內建立

  1. 下載
    直接用 curl 下載比較快速
cd (專案資料夾的路徑)curl -sS https://getcomposer.org/installer | php

2. 執行

php composer
  1. 下載
    沒有 curl 可以用 PHP 指令
php -r "readfile('https://getcomposer.org/installer');" | php

2. 執行

php composer

全域建立

  1. 下載
    這是參考 官方教學 的指令
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
php -r "unlink('composer-setup.php');"

其中有一個很重要的一點:
官方的指令中, php composer-setup.php 後面是沒有接參數的
但也正因此他會安裝錯路徑,導致 composer not found 的情形
因此建議特別指定是安裝在 /usr/local/bin 的路徑,後面的 filename 把檔名更改成 composer (原檔名為 composer.phar

2. 執行

php /usr/local/bin/composer

安裝好之後我們可以檢查一下版本,確認是否有安裝成功

composer -V

安裝 Laravel

安裝好 Composer 我們就可以引入 Laravel/installer

官方手冊

composer global require "laravel/installer"

檢查是否安裝成功

laravel

錯誤訊息

Can’t install Laravel installer via composer

針對這個問題就是根據你的 PHP 版本再下載一次
可以透過 apt-get 或是 homebrew 安裝
我個人的經驗是使用 apt-get 碰到的釘子比較多啦

依照需求安裝你所需你的 PHP 版本(以 7.3 為例)

  1. apt-get
sudo apt-get install php7.3-zip

2. homebrew

brew install php@7.3

再一次

composer global require laravel/installerlaravel

Laravel is not found

這個問題通常是 $PATH 沒有設定好的問題

vim ~/.zshrc

加入

export PATH="$HOME/.composer/vendor/bin:$PATH"

儲存後跑

source ~/.zshrc

我使用的環境是 zshbash 環境的解決方法也是一樣的
只需把 PATH 的內容加入 ~/.bashrc

我有遇過的坑是我跑了這段但是我沒有成功
可以檢查一下你是不是真的有 .composer/vendor/bin 的這個檔案
如果沒有就代表一開始的 composer 安裝錯位置
記得加參數

建立專案資料夾

首先切換到我們想存放網站的目錄下,通常會是 Apache 伺服器的網站目錄
假設今天想要建立的專案名稱為 blog

laravel new blog

執行完畢後可以發現專案目錄底下有兩個檔案:

  1. composer.lock
    列舉專案中用到的套件及它的版本,確保他人使用的版本一致
    不可以手動建立,它會在執行 install 或 update 之後自動產生或更新
  2. composer.json
    為 json 資料格式的設定檔,提供資訊給 Composer,讓它知道要安裝什麼套件,及該套件的版本

初始化 Composer

composer install

初始化 NPM

npm install

初始化完畢就完成了整者框架的安裝了!

開啟伺服器

完成安裝後,我們可以透過 Artisan 指令 或是用 PHP 指令開啟 Server
看到開發中的畫面,方便 debug

  1. Artisan 指令
php artisan serve
終端機畫面

若要指定埠號

php artisan serve --port=8000

2. PHP

移至 public 資料夾

cd public/

開啟 server

php -S 127.0.0.1:8000 ../server.php
終端機畫面

看到這個畫面就代表 Laravel 已成功運行

拍個手讓我知道,這個文章對你們有幫助 ♥(´∀` )人

參考資料

  1. Laravel — 為網頁藝術家創造的 PHP 框架
  2. Laravel 4 入門
  3. Laravel 道場 Laravel Dojo
  4. Composer
  5. 使用 Composer 管理 PHP 套件
  6. 安裝 Laravel — Laravel 道場
  7. [Laravel][PHP] Can’t install Laravel installer via composer
  8. zsh: command not found laravel
  9. “php artisan serve” 到底幹了什麼

--

--

Kion
Kion

Written by Kion

程式就是利用自動化與排程的特性解決問題 文章分類總覽: https://hackmd.io/@Kion/SyvyEks0L