Chapter 01

開発環境構築

はじめに

Laravelを使用したCRUD(登録・表示・更新・削除)機能の開発をしていきます。

・progateやドットインストールを一通り終えた方
・駆け出しエンジニアの方
・Laravelを初めて使用する方
向けに参考になるように書いていきます。

本書のハンズオン動画をYoutubeで公開しています。

https://www.youtube.com/playlist?list=PL0fi7-i7e7iVSqTAjBgTzuOXaWEonRsLC
こちらもよければご覧下さい。

本チャプターのYoutube動画はこちら

使用する言語・フレームワークなど

PHP 7.4
Laravel 6
Bootstrap 4.5
MySQL 5.7
Docker

開発環境の作成

まずターミナルを起動してプロジェクトフォルダを作成します。

ターミナル
mkdir laravel_todo
cd laravel_todo

次にルートフォルダに
docker-compose.yml
Dockerfile
ファイルを作成し、内容(dockerの構成)を以下にします。

docker-compose.yml
version: '3.7'

services:
  php:
    build: .
    volumes:
      - ./src:/var/www/html
    ports:
      - '8000:8000'
  mysql:
    image: mysql:5.7
    ports:
      - '3306:3306'
    volumes:
      - ./db:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: laravel
Dockerfile
FROM php:7.4-fpm

COPY --from=composer:1.10.12 /usr/bin/composer /usr/bin/composer

RUN apt-get update && apt-get install -y zip unzip

RUN docker-php-ext-install pdo pdo_mysql

あんまりdocker詳しくないので、今回dockerファイルの説明は省略します。

開発環境立ち上げ

ターミナル
docker-compose up -d

コンテナが起動したら成功です。

Creating laravel_todo_mysql_1 ... done
Creating laravel_todo_php_1   ... done
ターミナル
docker ps

下記のようにPHPとMySQLコンテナが立ち上がっていれば環境構築成功です。

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
dc165c1c61af        mysql:5.7           "docker-entrypoint.s…"   18 seconds ago      Up 18 seconds       0.0.0.0:3306->3306/tcp, 33060/tcp   laravel_todo_mysql_1
f01498ef3163        laravel_todo_php    "docker-php-entrypoi…"   18 seconds ago      Up 18 seconds       0.0.0.0:8000->8000/tcp, 9000/tcp    laravel_todo_php_1

Laravelインストール

Laravelをインストールします。

ターミナル
docker-compose exec php composer create-project --prefer-dist "laravel/laravel=6.*" .

下記メッセージで成功です。

> @php artisan key:generate --ansi
Application key set successfully.

開発サーバー立ち上げてインストールされているか確認します。

ターミナル
docker-compose exec php php artisan serve --host=0.0.0.0 --port=8000

http://localhost:8000にアクセスして下図のようなページが表示されれば成功です。

開発サーバーを終了する際は、Control+Cで終了できます。

初期設定

src/.envのLaravelのDB設定をdockerの設定に合わせます。

.env
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=password

Laravelのデフォルトのマイグレーションを実行してDBの設定が正しいか確認します。

ターミナル
docker-compose exec php php artisan migrate

デフォルトのマイグレーションが通ったら成功です。

Laravelのデフォルトは
タイムゾーンがUTC
LocaleがEN
のためsrc/config/app.php
timezonelocaleの内容を下記に変更します。

app.php
'timezone' => 'Asia/Tokyo',

'locale' => 'ja',

以上で環境構築は終了です。
次のチャプターではどのようなアプリケーションを作るかの設計に入ります。