Laravelのインストールメモ


最近環境が変わって、Laravelのインストールの仕方を調べ直すのがめんどうだったので、Laravelのインストールと初期設定を簡単にメモ。

# 導入
Laravelを導入する方法はいくつかあるが、composerを使うのが一番楽そう！

## composerのインストール

```zsh:brewでcomposerのインストール
brew install homebrew/php/composer
```

Macでbrewを使っている方は、brewを使ってcomposerをインストール

```zsh:brew以外の方
curl -sS https://getcomposer.org/installer | php
```

curlがない人は、phpスクリプトでインストール

```zsh:curlが入っていない人はこちら
php -r "readfile('https://getcomposer.org/installer');" | php
```

>composerの詳細はを https://getcomposer.org を参照

## Laravelプロジェクトの作成
Laravelプロジェクトを作成する方法は、公式で２つの方法が示されている。

- Laravel Installerを使う方法
- composerを使う方法

どちらかの方法を選択。

注意：Laravel Installerを導入するにも composer が楽なのでこれを使用する。

### 手段１：Laravel Installerを使う

手段１では、まず、Laravel Installerを入れる。

``` zsh:Laravel-Installerを入れる
composer global require "laravel/installer=~1.1"
```


インストール先は `~/.composer/vendor/bin` なので、こちらにPATHを通す。PATHの通し方は Shell や OS によって異なるので各自でお願いします。

```zsh:Laravelプロジェクトを作成
laravel new プロジェクト名
```

プロジェクトを作成するためには、`laravel new` を使用。


### 手段２：composerを使う方法

```zsh:composer を使って laravel プロジェクトを作成
composer create-project laravel/laravel プロジェクト名
```

composerでもLaravelプロジェクトを作成することが可能

これだけ見ると、composerで直接プロジェクトを作成する方が楽に見える。しかし、Laravel Installerの方が、初期のインストールに時間がかかるが、一度インストールしてしまうと次回以降のプロジェクトの作成が速い。今後、多用する予定ならばインストーラーを使う方法の方が良さそう。

>追記
環境構築が面倒な場合、VagrantのboxであるLaravel Homesteadがある。
詳しくは、 http://readouble.com/laravel/5/0/0/ja/homestead.html で！
公式では「Nginx Webサーバー、PHP 5.6、MySQL、Postgres、Redis、Memcachedやその他、素晴らしいLaravelアプリケーションを開発するために必要な、クールなツールを全部含んでいます。」と書かれています。

# 動作確認
プロジェクトフォルダにcdで移動してから

```zsh:サーバー起動
php artisan serve --port="9999"
```

を実行

http://localhost:9999/ にアクセスすると
![Screen Shot 2015-07-15 at 20.22.10.png](https://qiita-image-store.s3.amazonaws.com/0/58698/c4eb0052-58ab-680f-efcb-192485870b17.png "Screen Shot 2015-07-15 at 20.22.10.png")

環境構築がうまくいってる！

# 環境設定
## config/app.php


まずはじめに、確認すべき設定項目はプロジェクトフォルダ内の `config/app.php` にある。

|設定項目名|型      |説明|
|:-------|:-------|:--|
|debug   | bool   |デバッグモードの有無|
|url     | string |URL|
|timezone| string |タイムゾーンを指定（日本なら'Asia/Tokyo'）|
|locale  | string |ロケールを指定（日本なら'ja'）
|key     | string |32文字のランダムな文字（composer経由でインストールした場合は標準で入力されている。また、`php artisan key:generate`をコマンドを使用すると自動で指定してくれるので便利）|

config/app.phpで必ず設定すべき項目は以上。

## config/database.php
次にデータベースの設定をする。こちらはプロジェクトフォルダ内の`config/database.php`にある。

|設定項目名|型      |説明|
|:-------|:-------|:--|
|defualt | string |どのデータベースに接続するか指定|
|database| string |データベース名|
|username| string |データベースのユーザ名|
|password| string |データベースのパスワード|

自分で構築したデータベースを設定。

## DotEnvとは
### DotEnvの概要
`config/app.php` や `config/database.php` を見ると env( A , B ) という形を見かけると思います。
Laravelでは、DotEnvという機能が搭載されているので設定が非常に簡単です。

プロジェクトフォルダのルートにある `.env` ファイルを開いてみると、環境変数が書かれています。

`config/app.php` や `config/database.php` では `.env` ファイルから設定を読み取っています。

### env関数の使い方
```
env( A, B )
```

A：環境変数名
B： `.env` 内に環境変数Aが存在しない場合のデフォルト値


### DotEnvについての追記
composerでプロジェクトを作成した場合は、既にセットされてますので主に `.env` ファイルを書き換えることで簡単な設定は行えます。

>また、composerを使用しない場合、`.env` が存在しないかもしれません。
その時は、`.env.sample` を `.env` にリネームしてください。

> DotEnvの詳細については、 https://github.com/vlucas/phpdotenv を参照。

## Apacheの設定
1. ルートディレクトリを `public` フォルダに指定。プロジェクト名が laravel の場合は、 `laravel/public` である。
2. `mod_rewrite` を有効にする。

これで設定完了です。細かい設定は設定ファイルにコメントで書かれているのでそちらを参照。または調べましょう。