Laravel Meetup Tokyo Vol.12 参加した
メモ
LaravelTokyo
Eloquentに別れを告げるタイミングについて考えた / 吉田あひる
- ORM x Active Record x Domain Model
- 【補】Domain Modelではなくないか
- Domain LayerのことをDomain Modelって言ってるのかな
- 【補】Domain Modelではなくないか
- Eloquentの功罪
- 功
- 高機能
- 罪
- クエリ最適化
- slow query吐かれる
- クリティカルなところだけSQL書けばいい
- 別れるほどではない
- Repository Pattern(DDD)と相性悪い
- fatになりやすい
- DBとのやりとり
- relation
- ドメインロジック
- バリデーション
- mutatorでバリデーション(boiler plate)
- プレゼンテーションロジック
- derivationでHTMLを返したり(boiler plate)
- 別れるほどではない
- 責務分けてクラス設計しろ
- モデルとテーブルが一対一対応しないと破綻する
- そもそものパターンの前提としてそう
- テーブルから独立したドメインオブジェクトが欲しくなる
- 【補】Domain Model + Data Mapper使え
Laravel Novaの適切な使い方を考えてみる / suthio
- 管理画面作るやつ
- 自社向け、特定のユーザが使うやつとか
- Laravel Novaはいいぞ
- Laravel Novaって何
- 有料
- やすい
- 公式
- 5分くらいでダッシュボードできる
- 有料
- ここが素敵
- ドキュメント充実
- 公式が有能
- modernな見た目
- ソースコード読みやすい
- ドキュメント充実
- よくある管理画面パッケージ
- 初期の速度は速い
- カスタマイズつらい
- bad hack
- パッケージの意味とは
- 開発者用の管理画面として有用
- ちょっと便利なPHPMyAdmin
- サービス立ち上げ期に使うやつとか
- 長所
- それ用のパッケージがある
- 短所
- Laravel 5.8^ only
- 非OSS
- みんな使って!
- 情報増えてうれしい
Laravel+Slack通知で実践したリアルタイムエラー共有開発 / くまモンエンジニア
- エンジニアがjoinしてきて、初のチームプレー
- チームっぽい事したい
- エラー共有してみんなで解決する仕組み
- エラーに関する知見の共有
- 質問が苦手な新人の育成
- 5.7.14からslack-notification-channelが外部パッケージになった
- Slack APIとかをガシガシ使いたいのでGuzzleで自前開発した
- 当事者意識
- 他人のエラーは俺のもの
- 俺のエラーも俺のもの
- チーム全員が同じ分のエラーを共有できる
エラー時にログに出力する情報と画面に表示する情報を分ける / おかしょい
- エラー: アプリケーションでハンドリングされなかった例外
- ユーザ向けメッセージと開発用メッセージは異なる
app\Exception\Handler.php
をいい感じに実装する
<?php /** * Prepare a response for the given exception. * * @param \Illuminate\Http\Request $request * @param \Exception $e * @return \Symfony\Component\HttpFoundation\Response */ protected function prepareResponse($request, Exception $e) { if (! $this->isHttpException($e) && config('app.debug')) { return $this->toIlluminateResponse($this->convertExceptionToResponse($e), $e); } if (! $this->isHttpException($e)) { $e = new HttpException(500, $e->getMessage()); } return $this->toIlluminateResponse( $this->renderHttpException($e), $e ); }
- これ使え
if (! $this->isHttpException($e)) { $e = new HttpException(500, $e->getMessage()); }
- ユーザ定義例外に
toHttpException(): HttpException
メソッドとか生やす - appのHandlerの中で
toHttpException()
呼ぶ getMessage()
でユーザ向け文言書く
LaravelでAuth0を使ってECサイトを実装してみた
composer require auth0/login
- 認証のdriverをauth0に