このリポジトリでは技術書展6にて頒布された技術同人誌「CoLabユーザーで技術書を書いてみた」の第 1 章「開発・運用を楽にする Laravel tips 集」に掲載したソースコードを公開しています。
また Docker Compose がインストールされている環境では実際に動かして動作を確認することができます。 併せて活用してください。
- リスト 1.1:
composer.json
に追記する内容 (p.4) - リスト 1.2:
artisan ide-helper:models
実行後のapp/User.php
(先頭部分) (p.5) - リスト 1.3:
Debugbar::info()
を使った値の確認(routes/web.php
に記述) (p.9) - リスト 1.4:
process_type
を出力するための独自 Processor (app/Logging/ProcessTypeProcessor.php
) (p.12) - リスト 1.5: Logger に 各種 Processor を設定するクラス (
app/Logging/CustomizeLogger.php
) (p.13) - リスト 1.6:
config/logging.php
内の目的の channel にtap
を追加 (p.14) - リスト 1.8: slack 通知をするための
config/logging.php
の編集内容 (p.17) - リスト 1.9: 独自例外の抽象基底クラス (
app/Exceptions/MyAppException.php
) (p.19) - リスト 1.10: 独自例外の具象クラス (
app/Exceptions/ServerErrorException.php
) (p.20) - リスト 1.11: 独自例外を処理するための
app/Exceptions/Handler.php
の追記内容 (p.21) - リスト 1.12: エラー画面用の Blade テンプレート (
resources/views/500.blade.php
) (p.24)
リポジトリ全体のディレクトリ構造は以下のとおりです。
./
|-- services/ # Docker イメージビルド用のファイル等が入っている
|-- src/ # ソースコード
: :
| |-- .env.example # Laravel 用の .env ファイルのテンプレート
: :
|-- .env.example # Docker Compose 用の .env ファイルのテンプレート(上記のものとは別)
:
|-- docker-compose.yml
:
まずは各自に依存する値を設定します。
リポジトリルート直下の .env.exmaple
をコピーして .env
という名前のファイルを作成し、コメント(#
で始まる行)に従って内容を編集してください。
既に自身の環境で 80 番ポートや 3306 番ポートを使っている人は HTTP_PORT
や MYSQL_PORT
に別の利用可能なポート番号を指定しましょう。
$ cp .env.example .env
$ vim .env
ちなみに USER_ID
および GROUP_ID
に設定する値は以下のコマンドで確認できます(Linux/Mac の場合)。
$ id -u
500
$ id -g
500
この状態で下記コマンドを実行すると
- 各 Docker イメージのビルドとコンテナの起動
- composer パッケージのインストール
- アプリケーションキー の生成
- データベースマイグレーション
の順で実行されます。
$ make setup
実行が完了したら http://localhost (.env
の HTTP_PORT
を変えている場合はそのポート番号も指定)でページを閲覧できます。
また、composer
や artisan
を実行したい場合は
$ docker-compose run --rm php-cli bash
コマンドを実行しコンテナ内に入って実行するか、make
コマンドを経由して実行しましょう。
# 例: composer dumpautoload
$ make composer CMD=dumpautoload
# 例: php artisan migrate
$ make artisan CMD=migrate