Laravel4の環境構築をまとめておく

いままで使っていた PHP フレームワークに、あきてきたので
新しそげなフレームワークへの乗り換えをしました。
今後の環境づくりのための備忘録を残しておきます。

1.Composerのインストール

Laravel4のインストールや、各種Packageのインストールに使う Composer をインストールします。Composerのインストール自体は、1行で完了します。

1
2
# curl -sS https://getcomposer.org/installer | php
# mv composer.phar /usr/local/bin/composer

Composerの詳細については、以下のスライドがよかったです。

Composer による依存管理 と Packagist によるライブラリの公開 from Shogo Kawahara

2.Laravel4のインストール

Laravel4のインストールはComposer経由で行います。

1
% composer create-project laravel/laravel [インストールするディレクトリのパス]

インストールの確認

1
2
3
4
% cd [インストールしたディレクトリのパス]
% ls
CONTRIBUTING.md artisan composer.json phpunit.xml readme.md vendor
app bootstrap composer.lock public server.php

うまくインストールができると、ブラウザでアクセスした時に、以下の画面が表示されます。

3.パッケージのインストール

いちから自分で構築してもいいですが、先人の知恵をお借りして効率よく開発をすすめるために、Composerを経由して、各種パッケージをインストールします。
まずはじめに、Composerでインストールするパッケージの設定をします。
設定ファイルは、Laravel4をインストールしたディレクトリにある composer.json です。
composer.json を開くとこのような記述になっています。この中の require に追加するパッケージを記載します。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
% vi composer.json
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"require": {
"laravel/framework": "4.0.*"
},
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php"
]
},

追加するパッケージの記述は「ベンダー名/パッケージ名 : バージョン」という記載の仕方になります。
例えば、Laravel IDE Helper をインストールする場合は、以下のように記載します。

1
2
3
4
5
6
7
8
9
10
11
12
13
% vi composer.json
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"require": {
"laravel/framework": "4.0.*",
"barryvdh/laravel-ide-helper": "1.*"
},
"autoload": {
"classmap": [
"app/commands",
"app/controllers",

設定をもとにインストールする場合は、下記コマンドを実行します。

1
% composer install

また、Composer の require オプションを使用することで、対象のパッケージを composer.json に追記して、インストールすることができます。

1
% composer require "barryvdh/laravel-ide-helper:1.*"

4.よく使いそうなパッケージ

Laravel でのサイト構築でよく使いそうなパッケージを紹介します。 ####Laravel IDE Helper
IDEを使って開発する際に、IDEの補完をサポートするためのファイルを生成してくれるツール
https://packagist.org/packages/barryvdh/laravel-ide-helper

Profiler

Laravel3用のプロファイラーだが、Laravel4でも問題なく動作する
https://packagist.org/packages/loic-sharma/profiler

Imagine

画像関係のライブラリ
https://packagist.org/packages/imagine/imagine

Intervention Image

画像関係のライブラリ
https://packagist.org/packages/intervention/image

Sentry2

認証周りを管理を簡単にするライブラリ
https://packagist.org/packages/cartalyst/sentry

HybridAuth

各種プラットフォームへのAuth認証を管理するライブラリ
https://packagist.org/packages/hybridauth/hybridauth

PHPPdf

PDF出力用ライブラリ
https://packagist.org/packages/psliwa/php-pdf