準備
ここでは、筆者が環境を構築した手順を示す。 こちらを参考に、各自同様の環境を構築していただきたい。
もろもろインストール
"導入#開発環境"の基本的なツールのインストール手順を示す。
IDEは、各自使い慣れたものを利用していただきたい。
PHP/Composer
Homebrewでインストールを行なう。
$ brew install php
$ brew install composer
Docker
https://www.docker.com/community-edition
こちらのサイトから、各プラットフォーム向けのバイナリをダウンロードできる。 自分の環境に合わせて、適宜利用してもらいたい。
実行環境の準備
GitHub: tacck/task-manager-env
こちらにdocker-compose.yml
含め必要なファイルがあるので、こちらをクローンして利用していただきたい。
Laravelプロジェクト
下記のようにcomposer
を使って、プロジェクトを新規で作成する。
$ cd ~
$ git clone https://github.com/tacck/task-manager-env.git task-manager
$ cd task-manager
$ composer create-project --prefer-dist laravel/laravel task-manager "5.5.*"
タイムゾーン/言語設定
日本国内での扱いを想定しているので、タイムゾーンと言語の設定を下記のようにする。
編集するファイルは~/task-manager/task-manager/config/app.php
。
'timezone' => 'Asia/Tokyo',
'locale' => 'ja',
.env
と.env.testing
の設定
Laravel
では、DBの設定などを環境変数で定義するようになっており、これを.env
というファイルで管理している。
ここで、一点注意して欲しいことがある。
これから先の本編で実行するテストコマンドは二種類あり、
一方(PHPUnit
)は「開発環境」で動き、もう一方(Laravel Dusk
)は「実行環境」で動くようになる。
そのため、環境設定も二種類用意しておく必要があるのだ。
「開発環境」はローカルPCからDockerに接続する形で利用する書き方をし、 「実行環境」はDocker内部で動作する形で利用する書き方をしなければならない。
まず、「実行環境」向けに~/task-manager/task-manager/.env
をDocker内部の動作として修正する。
(修正必要な箇所を中心に記載)
APP_ENV=local
APP_URL=http://localhost:9080
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=task_manager
DB_USERNAME=root
DB_PASSWORD=root
次に、下記の手順でファイルをコピーして欲しい。
$ cd ~/task-manager/task-manager
$ cp .env .env.testing
次に、「開発環境」向けに、.env.testing
をdocker-compose.yml
の内容に合わせて修正する。
APP_ENV=testing
APP_URL=http://localhost:9080
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=9306
DB_DATABASE=task_manager
DB_USERNAME=root
DB_PASSWORD=root
APP_ENV
、DB_HOST
、DB_PORT
、の3つが.env
から変わっている。
この点に注意して全体の修正を行なってもらいたい。
フレームワーク用のライブラリインストール
フレームワークで使用する、各種ライブラリをインストールする。
基本的に必要なものは、すでにcomposer.json
に書かれてあるのでこれを元にインストールを行なう。
$ composer install
composer create-project
で新規作成していれば、不要なはずである。
実行環境の起動
$ cd ~/task-manager
$ docker-compose up -d
起動できたら、下記URLへアクセスするとLaravel
の初期画面が表示される。
Laravel
の大きい文字が画面に出て入れば成功だ。