【PHP/Laravel】開発環境構築（Mac版）

#はじめに
今回、フレームワーク「Laravel」を用いてのアプリ開発を行うことになりました。

前提として、私は「Laravel」を使用することが初めてのため、今回記載する内容より最適な手順は他にもあるかもしれません。

ただ、「まずは何から始めれば、、」という初学者の方には得るものがあるかもしれないので、参考にしていただければ幸いです。


#開発環境
・MacOS:10.14.6 （Mojave）

#目標
・PHP7.3、Laravel6をインストール

#概要（簡単な流れとコマンド）
①Homebrewのインストール

```ターミナル
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
```
②PHPのインストール

```ターミナル
brew install php@7.3
```
③Composerのインストール

```ターミナル
$ brew install composer
```
④Laravelのインストール

```ターミナル
$ composer create-project "laravel/laravel=6.*" プロジェクト名
```
⑤ローカル環境で確認

```ターミナル
$ php artisan serve
```
http://localhost:8000/


#手順
##①Homebrewのインストール

ターミナル上で「HomeBrew」がインストールされてるかの確認。

```ターミナル
$ brew -v
Homebrew 2.4.5
Homebrew/homebrew-core (git revision f424a; last commit 2020-07-12)
```
インストールされていると、「Homebrew 2.4.5」とバージョンが表示される。
表示されなかった場合は以下を実行し、インストール。

```ターミナル
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
```

##②PHPのインストール

「PHP7.3」が提供されているかを確認。

```ターミナル
$ brew search php
==> Formulae
brew-php-switcher                 php-code-sniffer                  php@7.2                           phplint                           phpmyadmin                        phpunit
php                               php-cs-fixer                      php@7.3                           phpmd                             phpstan
==> Casks
homebrew/cask/eclipse-php 
```
確認ができたので、以下のコマンドを実行して「PHP7.3」をインストール（少し時間がかかります）。

```ターミナル
$ brew install php@7.3
Updating Homebrew...

~ 省略 ~
```
完了後、以下のコマンドを実行して、無事にインストールされているかを確認。

```ターミナル
$ php -v 
PHP 7.1.23 (cli) (built: Feb 22 2019 22:19:32) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
```

インストールはされているがバージョンが異なっている。
以下のコマンドを実行して「PHP」の環境パスを「.bash_profile」に設定する。

```ターミナル
$ echo 'export PATH="/usr/local/opt/php@7.3/bin:$PATH"' >> ~/.bash_profile
$ echo 'export PATH="/usr/local/opt/php@7.3/sbin:$PATH"' >> ~/.bash_profile
$ source ~/.bash_profile
```
再度、PHPのバージョンを確認。

```ターミナル
$ php -v
PHP 7.3.20 (cli) (built: Jul  9 2020 23:55:30) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.20, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.20, Copyright (c) 1999-2018, by Zend Technologies
```
正しくインストールされたことが確認できた。

##③Composerのインストール
「Laravel」の導入に必要な「Composer」をインストールします。
まずは「brew search」で「Composer」が提供されているかを確認。

```ターミナル
$ brew search composer
==> Formulae
composer
```
確認ができたので、以下のコマンドを実行して「Composer」をインストール。

```ターミナル
$ brew install composer
Updating Homebrew...
==> Downloading https://getcomposer.org/download/1.10.8/composer.phar
######################################################################## 100.0%
🍺  /usr/local/Cellar/composer/1.10.8: 3 files, 1.9MB, built in 3 seconds
```

完了後、以下のコマンドを実行して、無事にインストールされているかを確認。
※「$ composer -v」でもよい。

```ターミナル
$ composer
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.10.8 2020-06-24 21:23:30

~ 省略 ~
```
正しくインストールされたことが確認できた。

##④Laravelのインストール
ここではバージョン指定をしたLaravelのインストールと同時に「phpsample」というプロジェクト名でディレクトリを作成します。

```ターミナル
$ composer create-project "laravel/laravel=6.*" phpsample
Creating a "laravel/laravel=6.*" project at "./phpsample"
Installing laravel/laravel (v6.18.8)
  - Installing laravel/laravel (v6.18.8): Downloading (100%)
```

以下のコマンドを実行して環境パスを「.bash_profile」に設定することで、「Laravelコマンド」を有効にする。

```ターミナル
$ echo 'export PATH="~/.composer/vendor/bin:$PATH"' >> ~/.bash_profile
$ source ~/.bash_profile
```

念の為、以下で「Laravel」がインストールされているかを確認。

```ターミナル
$ cd phpsample
$ php artisan --version
```

##⑤ローカル環境で確認
「Laravel」のインストールが完了したので、ディレクトリを移動し、ローカルサーバーを起動する。

```ターミナル
$ php artisan serve
```
以下のURLから表示の確認。
http://localhost:8000/

#参考文献
本記事を作成するにあたり、以下を参照させていただきました。
ありがとうございます。

####＜検討〜導入手順＞
[・【Laravel入門者向け】Laravel6系+PHP7.4でMVCの流れをサクッと試す (Mac編)](https://deha.co.jp/magazine/laravel-php-mvc/)

####＜導入手順＞
[・【Mac】Laravel導入（インストール）](https://qiita.com/1992_momotaro/items/c84ad1701c4623c04f27)
[・【Mac】Laravelの環境構築手順書(メモ)](https://qiita.com/YutakaYamasaki/items/96ab3f20a71d6c825b5d)
[・laravelでバージョンを指定してインストール](https://qiita.com/revenue-hack/items/f90fa5a7d4352d0bbc3f)
[・Laravelでバージョンを指定してプロジェクト作成](https://tech.adseed.co.jp/laravel-project)

####＜導入手順、環境パス＞
[・MacにLaravel6を導入してみよう](https://norilog.net/laravel6-intro/)
[・ターミナル上で「laravel」コマンドを使えるようにパスを通す](https://qiita.com/m24/items/970d9c575647f8f6ff33)
　
####＜その他、本件とは関係ないが、以後活用できる文献＞
#####●拡張機能
[・Laravelで気持ちよく開発をするための拡張機能のまとめ](https://qiita.com/motuo/items/5c9b24606ef75535f882)
　
#####●Laravel導入〜MANP導入
[・【PHP入門①】環境構築（Mac編）~初心者でも安心！基礎から学べるプログラミング講座~](https://snome.jp/programming/php-intro-1-mac/)
[・MAMPでローカルにWeb開発環境を作る](https://cbc-study.com/training/advanced/page1#1)
[・PHPフレームワークのLaravelララベルをつかおう](https://cbc-study.com/training/performance/laravel1)