»

Laravel 4 Tutorial Part 1 – Installation and Configuration

Coding — Tags: , — Posted by Starck on March 26, 2013

Laravel

根據官網的說法:

Laravel is a clean and classy framework for PHP web development. Freeing you from spaghetti code, Laravel helps you create wonderful applications using simple, expressive syntax.

Development should be a creative experience that you enjoy, not something that is painful. Enjoy the fresh air.

大略看了文件後,覺得跟 Ruby on Rails 的概念很接近,以下幾點特色很吸引我:

  • Artisan : command-line 的操作方式, 支持擴充指令
  • Autoloading : 採用 Composer 的 autoload 機制, 不用再一直忘了 require 了
  • Blade Template Engine : 簡單好用的模版引擎
  • Migration / Seeding : 資料庫的版本管理
  • Query Builder : 幾乎所有的 MVC Framework 都會有這樣的 SQL 操作類
  • Eloquent ORM / Auth : 直接就有 ORM 可以用! 並有一個簡單的 Authentication 機制
  • Dependency Injection
  • IoC Container

安裝

Get Laravel from Github

$ mkdir {project_folder}
$ cd {project_folder}
$ get clone git://github.com/laravel/laravel.git
$ git checkout develop

Laravel 從 4 開始就不再用舊有的 Bundle, 而採用 Composer 來作 packages 的管理與安裝.

下載 Composer

$ curl -sS https://getcomposer.org/installer | php

付予 Composer 可執行的權限

這時專案資料夾會有一個 composer.phar 的文件, 我習慣把它命名為 composer 並付予可執行的權限:

$ chmod +x ./composer.phar
$ mv composer.phar composer

安裝 Composer

$ composer install

安裝 Laravel 所需的 packages

$ composer update

到這裡如果都沒有發生任何錯誤, Laravel 4 就算安裝完成了.

開發工具

我個人偏好用 SublimeText 2 or Vim 來作為我開發的 IDE, 而基於 Laravel 我比較建議用 SublimeText, 因為有一個方便的 LaravelGenerator, 使用這個 Plugin 前需要安裝 Laravel-4-Generators.

安裝 LaravelGenerator SublimeText Plugin

在 SublimeText 中:

Command + Shift + p

出現提示後然後輸入:

install 選擇 Package Control: Install Package

接著輸入: LaravelGenerator 選擇我們要安裝的 Plugin

這樣我們就已經把 LaravelGenerator Plugin 裝進 SublimeText 了

安裝 Laravel-4-Generators Package

開啟專案根目錄下的 composer.json, 在 require 設定加入 "way/generators": "dev-master"

更新並下載所需的 packages

$ composer update

加入 Laravel 的 ServiceProvider

開啟 app/config/app.php

providers 中加上 'Way\Generators\GeneratorsServiceProvider', 讓 artisan 運行時自動載入所需的類別

檢查 Laravel-4-Generators 是否安裝成功

$ php artisan

如果出現訊息有包含以下資訊就代表 package 安裝成功了:

可以參考 Pro Workflow in Laravel and Sublime Text 中的影片教學.

設定

儲存區目錄權限設定

app/storage 這個資料夾裡所有文件和目錄都設為可寫入的權限:

$ chmod -R 777 ./app/storage/

在 Server 上因為我習慣上會把網站文件的群組設為 apache (CentOS) or www-data (Ubuntu), 再付予群組的寫入權限.

$ chown -R user:group ./app/storage
$ chmod -R g+x ./app/storage

環境設定

Laravel 的設定檔都統一放置在 app/config/ 裡, 而 Laravel 可以依據 HTTP host 來決定讀取不同的設定檔, 例如測試主機和正式主機的資料庫設定可能會有所不同.

設定檔預設就是用在 production 環境, 如果有特定的設定需要在 localhost 本機環境下作變動, 只要在 app/config/ 建立一個 local 資料夾, 並把設定檔放置其中即可, 例如 database.php.

example:

app/config/ - 放置正式上線的 production 設定
app/config/local/ - 放置本機環境的設定
app/config/testing/ - Unit Testing 用的設定

環境的定義請見 /bootstrap/start.php

Laravel 已經事先幫你定義好 local 的環境定義, 所以你只需把 your-machine-name 置換成你的電腦名稱或是 localhost.

Encryption Key

在編寫任何程式之前, 請先修改 app/config/app.phpkey (Encryption Key).

你也可以用 artisan 自動產生一組隨機文字的 key, 在這之前需要先將原本的 key 刪除:

接著在 Terminal 下達:

$ php artisan key:generate

(c) 2018 Starck Lin | powered by WordPress