Laravelインストール前後にやったこと：Composerインストール・Composer高速化・Laravelデバッグツールの導入（メモ）

Laravelをインストールしたときに並行してやったことがいくつかあるので、それの個人的な覚書です。環境は以下の通り。

- Mac OS Mojave (バージョン 10.14.3)
- MacBook Pro (Retina, 13-inch, Early 2015)

# Laravelインストール前
## Composerのインストール

https://getcomposer.org/

Laravelをインストールするのに必要なステップ。Composerは、PHPのパッケージ管理システムあらため、依存関係解決ツールのこと。プロジェクトで使用するライブラリやパッケージを管理してくれ、こちらがあまり意識しなくても必要な時に、必要なバージョンのライブラリなりを一緒にダウンロードしてきてくれる。あるライブラリを使うには他のあるライブラリが必要で・・・みたいなときに丸っと面倒を見てくれるわけだが、その依存関係について詳しくは他の方の記事を参考に。

参考：
[composerとは？](https://qiita.com/voyage_nh/items/3774bbbed7c767e98ea4)
[PHP開発でComposerを使わないなんてありえない！基礎編](https://qiita.com/niisan-tokyo/items/8cccec88d45f38171c94)
[composerとは](https://qiita.com/atwata/items/d6f1cf95ce96ebe58010)
[PHPのライブラリ管理ツール「Composer」入門](https://weblabo.oscasierra.net/php-composer-1/)


プロジェクトごとにComposerをインストールする（ローカル）かPC全体で共有する（グローバル）かは、どのディレクトリにインストールするかで変わってくる。いったん自分はユーザーホームのディレクトリに入れることにする。
Composerインストールのコマンドはこちら。

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

バージョンが変わればURL等も変化するかもしれないので、公式サイトも要確認。
Mac, Linux系のインスタレーションはこちら。
https://getcomposer.org/doc/00-intro.md#installation-linux-unix-macos

Composerインストール後は、インスタレーションにもあるように composer.phar のファイルを移動する。そうすることで、どこからでもcomposerのコマンドを実行できる。

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

## Composerの光遅い問題への対応
Composerを使っていると、遅い！と感じる人が一定以上いるらしい。
アジア圏に顕著で、Composerを走らせたときに参照されるサーバは北米やフランスにあるので物理的な距離の問題があるし、光ファイバーとか使っても必要な数々のリクエストをこなすためには地球何周分もの距離をデータが行き来することになって光というものの速度自体が速くならない限り速くするのは無理、という結論にぶち当たるらしい。そこで、Composerを速くするための対応策として国内ミラーと高速化プラグインを作った方がいらっしゃる。
3年くらい前の出来事だけど今でも有用と思われるし、そのプラグインはまだComposer本体にはマージされていないので、詳しくはご本人のスライドや他の方のまとめを読むと良いと思う。スライドは最後まで見るとちょっと感動する。

なお国内のミラーに参照先を変える＆高速化プラグインインストールには、Composer本体をインストール済みの人であれば、以下のコマンドを走らせるだけでOK。
Laravelのインストールに絶対に必要というわけではないが、なんならLaravelインストール後でも大丈夫なのでやっておいて損はないと思う。

```
composer config -g repos.packagist composer https://packagist.jp && composer global require hirak/prestissimo
```

参考：
[Composerを速くするために必要だったもの/composer-keynote](https://speakerdeck.com/hirak/composer-keynote)
[composerの遅さをまじめに考える #phpstudy](https://www.slideshare.net/hinakano/composer-phpstudy)
[光遅い問題を克服してcomposerを10倍速くした話](https://tech.mercari.com/entry/2016/02/01/164829)
[光遅い問題に対応して Composer を100倍速くする](https://qiita.com/bezeklik/items/f9bc7afc229b5476e822)
[Composerの実行速度を高速化する方法](https://qiita.com/keitakn/items/37f0fac49442b72c403e)
[GitHub: Composer/Parallel downloader #5293](https://github.com/composer/composer/pull/5293)
[curl を使って composer update を 2 倍速くする](https://qiita.com/ngyuki/items/03f9c6ce0f0db18ace94)
[composer searchが非常に遅い件](http://blog.tojiru.net/article/313082352.html)
[composer searchが速くなってた](http://blog.tojiru.net/article/353046668.html)
[PHPの生みの親，ラスマス・ラードフ氏インタビュー](http://gihyo.jp/news/report/2015/12/1401?page=3)

# Laravelインストール後

## Laravel Debugbarのインストール
Laravelでの開発に便利そうなので導入。

インストールコマンドは下記だが、--devのオプションがないと本番環境で実行されてパスワードが丸見えになるとかなんとか。

```
composer require barryvdh/laravel-debugbar --dev
```

Debugbarを無効にしたいときは.envに以下を挿入。true/falseで切り替え可能。

```Laravel:.env
DEBUGBAR_ENABLED=false
```

本番環境でも使いたいとか、詳細や各種設定値は、参考記事がとてもきれいにまとまっていたので割愛。

参考：
[Laravel5.7: Laravel Debugbarを使う](https://qiita.com/sutara79/items/9fd442a81001842aeba1)
[laravel5.6, 5.7 laravel-debugarを導入する！](https://tac-blog.tech/index.php/2018/08/18/laravel-debugbar/)
[laravelデバッグバーの導入](https://laraweb.net/environment/1196/)


今日はそんな感じです。