MAMP環境でLaravelをインストールして画面表示するまで... 【2020年10月現在】

Laravelを以前にチーム開発で触ったことがあったのですが、初学者の中でもさらに初学者だったので頭の中が「？？？？？」になっていました。最近はPHPだけの開発をしていたのですが時々息抜きでフレームワークを使ってみようと。

まず、2020年現在PHPのフレームワークで最も人気な「Laravel」を使うためにMACのPCで使えるよう環境構築をしてみました！その流れをご説明します。

##Laravelをインストールをするために参考になったもの

PHPを学ぶのに大変役に立つ無料動画
↓
https://www.youtube.com/watch?v=cO9Kfh3lypg&list=PLCyDm9NTxdhLnA4tH5ToQR1K1LcWIAdOa

わかりやすく日本語で説明されていたサイト
↓
https://www.ritolab.com/entry/22

##フレームワークとは…

まずはフレームワークを使うメリットを知っておく必要がありますね。一番気になることは「__素早くWebアプリを作れる__（基本的な機能が搭載済み）」ですね。他にもまとめてみると以下の点が良き。

- 開発時間の短縮へ
- ルールが決まっているから複数人の開発が便利
- ルールがあるから開発後のメンテナンスが楽
- セキュリティ機能が備わっているから質の高い開発が可能

2020年、phpの一番人気フレームワークはLaravel。CakePHPも求人が二番目に多いので良いよ。初心者に簡単に使えるフレームワークとしては、実は__CodeIgniter__がおすすめ。

##Laravelを学ぶために

日本語公式サイトを見ましょう！
http://laravel.jp

理解すべきものとして以下の三つがあります。

- MVCモデル（プログラムの構成）
- ORM（DB操作）
- Artisanコマンド

##Laravelを使えるようにするための手順

先ほどもご紹介した動画を見ながら環境構築できます☺️。細かく説明をしている素晴らしい教材ですが、わからない点は一つ一つ調べながら取り組むとよりGOOD！

https://www.youtube.com/watch?v=yaitzPzBzuI&list=PLCyDm9NTxdhLnA4tH5ToQR1K1LcWIAdOa&index=2

###開発環境構築とは...
	
アプリの実行環境（Laravelが動く）を作ること。Webサービスを公開するには以下のものが必要です。

1. アプリ
2. ミドルウェア（PHP Apache MySQLなど）
3. OS（Mac Windows Linuxなど）
4. ハードウェア/ネットワーク（サーバー機器など）

2~4（総称をインフラと呼ぶ）を準備することが実行環境構築となります。

###開発環境構築方法の種類

__「ローカルPCに構築」__と__「仮想環境を立てて構築」__する方法があります。

ローカルPCに構築するなら、__MAMP__と__Composer__が必要ですね。LaravelはMAMPだけでなくComposerがないと難しいので使いましょう！

仮想環境を立てて構築する方法については、例として以下のものがあります。とりわけ開発現場では仮想環境を使うことが多いです。

- Vagrant + VirtualBox
- Docker

これから__ローカルPCに構築する方法__をご紹介しますね。

##ローカルPCに構築する方法

Composerとは...

サイトがあります。
https://getcomposer.org

これは、__PHPの”パッケージ”管理ツール__です。

PHPの便利パーツ（ライブラリ）を一括でインストールして使えるよう管理してくれます。複数人で開発している時は、他の人にインストールしたものを渡せばすぐ使えます！

##Laravelのインストール手順
	
__MAC__のパソコンにMAMPをインストールした状態で、__ターミナル__にて以下のコマンドを打っていきます。

__MAMP内のhtdocsへ移動（cd）__します。
↓

```
cd /Applications/MAMP/htdocs/
```

__composerのインストーラーをhtdocs内にダウンロードする__
↓

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


「__composer.pharを /usr/local/bin/composer に移動。composerというコマンドをどこからでも使えるようにする__」を実行します。
↓

```
sudo mv composer.phar /usr/local/bin/composer
```

__sudoは管理者ユーザとして実行する__という意味。__mvは移動する__ということ。

composerが入ったかどうかの確認します。
↓

```
composer -V
```

さらに続きます...

composerを使ってLaravelのファイルを作るよという意味。blogというディレクトリ（ファイル）の作成します。
↓

```
composer create-project laravel/laravel --prefer-dist blog
```

上記の__blog__というところは自分でファイル名を設定しましょう！これでディレクトリの作成が完成です。さらにLaravelに必要な一式もダウンロード完了！

__--prefer-dist__ の部分は...

prefer-sourceの逆のコマンドです。可能であればdistからインストールすべし。これは、ビルドサーバーなど、一般的にベンダーのアップデートを実行しないようなケースでは、インストールを大幅に高速化することが可能に。

###もしLaravelバージョンを指定してダウンロードしたい場合...		

__laravel/laravel__の部分に修正をします。
例えばバージョン6 (LTS Long Term Support の略。つまり長期サポート)を希望するなら

```
"laravel/laravel=6.*"
```

と書く。

さらに続きます！

##Laravelをインストールしたら

作成したblogファイルに移動

```
cd blog
```		

現在いるファイルの中身をチェックします。

```
ls
```			

それから...

権限を変更します。

```
chmod -R 777 storage
```

上記のコマンドは

__storageを777__（一番緩いものにする）という意味です。__storage__ とは、ファイル操作に使います。これで、保存先を意識することなくファイルの操作が可能に。

https://reffect.co.jp/laravel/laravel-storage-manipulation-master


```
chmod -R 777 bootstrap/cache
```

__chmod 777__とは、chmod (change mode）の略。 ファイルを誰でも「読む・書く・実行」が可能になります。Laravelには独自のキャッシュ機構があり、デフォルトでここにキャッシュが作成されていきます。

https://developers.gnavi.co.jp/entry/laravel/matsuyan

##最後に

__MAMPのDocument Rootを作ったファイル__の中の「__public__」に設定します。理由は、publicにLaravelのトップ画面の設定があるから。これでブラウザーにて表示できます！お疲れ様です。

![2020-10-27 15.06のイメージ 2.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/437473/c3ca7b04-e739-46d7-8b8e-fdacb0c658ec.jpeg)