laravelの設置手順をまとめ


## laravelとは

* 海外で人気を集めているPHPフレームワーク
* Google Trend
  - http://www.google.com/trends/explore?hl=en-US#q=yii,+CodeIgniter,+Zend+Framework,+Cakephp,+Laravel&cmpt=q&tz&tz

## composerとは

* PHP用のパッケージを管理するためのツール
* ruby on railsのbundlerのような役割を果たす。

## composerをインストール

* 実行ファイルを使ってインストールする。（定番）
* macの場合はhomebrewでインストールが可能であり、この方法を推奨する。

### 本家の実行ファイルでインストール

* 実行ファイルをダウンロードしてphpで実行と、composer.pharファイルがダウンロードされる。

```
% curl -sS https://getcomposer.org/installer | php
All settings correct for using Composer
Downloading 1.1.1...

Composer successfully installed to: /Users/devnote/Documents/study/composer.phar
```

* ダウンロードファイルを/usr/local/binへ移動する。

```
% sudo mv composer.phar /usr/local/bin/composer
% composer
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.1.1 2016-05-17 12:25:44

Usage:
  command [options] [arguments]

... snip ...
```

### homebrewでインストール

* brewにてcomposerが提供されているのか検索する。

```
% brew search composer
homebrew/php/composer
```

* homebrew/phpのリポジトリにcomposerが存在しているので、該当リポジトリを追加する。

```
% brew tap homebrew/php
==> Tapping homebrew/php
Cloning into '/usr/local/Library/Taps/homebrew/homebrew-php'...
remote: Counting objects: 586, done.
remote: Compressing objects: 100% (379/379), done.
remote: Total 586 (delta 388), reused 236 (delta 205), pack-reused 0
Receiving objects: 100% (586/586), 243.46 KiB | 0 bytes/s, done.
Resolving deltas: 100% (388/388), done.
Checking connectivity... done.
Tapped 561 formulae (601 files, 1M)
```

* 追加されたリポジトリを確認する。

```
% brew tap
caskroom/cask
homebrew/core
homebrew/php
rcmdnk/rcmdnkpac
sanemat/font
```

* composerをインストールする。

```
% brew install composer
==> Installing composer from homebrew/php
==> Installing dependencies for homebrew/php/composer: freetype, icu4c, libxml2, unixodbc, openssl, php70
==> Installing homebrew/php/composer dependency: freetype
==> Downloading https://homebrew.bintray.com/bottles/freetype-2.6.3.el_capitan.bottle.tar.gz
######################################################################## 100.0%

... snip ...
```

## laravelのインストール

* laravelをイスントールする方法には二つがある。
* laravelのインストーラーとcomposerのcreate-projectでインストールする方法だ。
* 個人的にはlaravelのインストーラーを利用する方法を推奨する。（composerのcreate-projectを利用する方法より早い。）

### laravelのインストーラー

* composerを使ってlaravelインストーラーをダウンロードする。

```
% composer global require "laravel/installer=~1.1"
```

* ホームディレクトリの配下に.composerディレクトリが生成される。

```
% tree .composer -L 2
.composer
├── cacert.pem
├── cache
│   ├── files
│   └── repo
├── composer.json
├── composer.lock
├── keys.dev.pub
├── keys.tags.pub
└── vendor
    ├── autoload.php
    ├── bin
    ├── composer
    ├── guzzlehttp
    ├── laravel
    ├── psr
    └── symfony

10 directories, 6 files
```

* laravelコマンドが実行できるように、~/.composer/vendor/binディレクトリを実行PATHへ追加する。

* プロジェクトを生成する。

```
% laravel new sample
```

### composerのcreate-project

* sampleという名前でlaravel用のプロジェクトを生成する。

```
% composer create-project laravel/laravel sample
Installing laravel/laravel (v5.2.31)
  - Installing laravel/laravel (v5.2.31)
    Downloading: 100%

Created project in sample
> php -r "copy('.env.example', '.env');"
Loading composer repositories with package information
Updating dependencies (including require-dev)

  - Installing vlucas/phpdotenv (v2.2.1)
    Downloading: 100%

... snip ...
```

## laravelインストールを確認

* PHPの組み込みサーバを起動して確認する。（ruby on railsのwebrickみたいなもの）

```
cd sample
php artisan serve
```

* ブラウザで確認する。

```
http://localhost:8000
```

## 参考

* http://mawatari.jp/archives/install-composer-in-mac
* http://easyramble.com/install-composer-into-mac.html
* http://readouble.com/laravel/5/1/ja/installation.html