今回ドメイン駆動設計の視点でLaravelでModelクラスを
作りたいのですが今一つどのようにソースに落とし込めばいいかイメージが湧きません。
(よく着眼点(?)は実際に起こり得ることに沿って組み立てて行くといいと聞くのですが、、、)
たとえば、簡単な例としまして2つのテーブルと実際の業務モデル(?)があります。
ユーザー情報のUserテーブル:(名前、年齢、ウォレット残高)
→購入すると残高から商品の値段が引かれる
商品の情報のItemテーブル:(商品名、価格、在庫数、酒類タバコかどうか)
→購入すると在庫が1マイナスされる
今回やりたいこととして
上記の業務モデル(?)に適したロジックを抽出, モデルのメソッドとして実装したいのですが、
後述のソースのように外部から渡された値を保持するだけの記述しかイメージが湧かないので
どうやってソースに落とし込めばいいか教えていただければと思います。
よろしくお願いします。<(_ _)>
##現在のModel
#app/Models/User.php <?php declare(strict_types=1); namespace App\Models; class User { public function __construct( private int $id, private string $name, private int $age, private int $wallet, ) { } public function __get(string $name) { return $this->{$name}; } }
#app/Models/Item.php <?php declare(strict_types=1); namespace App\Models; class Drink { public function __construct( private int $id, private string $name, private int $price, private int $stock, private bool $isCigarette, ) { } public function __get(string $name) { return $this->{$name}; } }
回答1件
あなたの回答
tips
プレビュー