このリポジトリでは技術書展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