From bdb72b65d6c8745fed6df21e6b0805371c490724 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Munsch?= Date: Mon, 24 Aug 2026 21:46:06 +0200 Subject: [PATCH] docs(architecture): add ReadModel entity example in guide nouveau usecase --- .../Architecture/04-guide-nouveau-usecase.md | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/documentation/Architecture/04-guide-nouveau-usecase.md b/documentation/Architecture/04-guide-nouveau-usecase.md index 6f3a27b..f768ab1 100644 --- a/documentation/Architecture/04-guide-nouveau-usecase.md +++ b/documentation/Architecture/04-guide-nouveau-usecase.md @@ -16,7 +16,30 @@ Ce guide pas-à-pas accompagne un développeur dans la création d'un nouveau ca ## 🛠️ Étape par Étape -### 1. Domaine : Le Port & l'Entité +### 1. Domaine : Le Port & le Modèle de Lecture / Entité +Définissez le modèle de lecture dans `src/Domain/Models/Entities/Article.php` : +```php +namespace Domain\Models\Entities; + +use Domain\Models\ValueObjects\ArticleId; +use Shared\DDD\Model\ReadModel; + +/** @implements ReadModel */ +final readonly class Article implements ReadModel +{ + public function __construct( + public ArticleId $id, + public string $title, + ) {} + + #[\Override] + public function id(): ArticleId + { + return $this->id; + } +} +``` + Définissez l'interface dans `src/Domain/Ports/Directories/ArticleDirectory.php` : ```php namespace Domain\Ports\Directories;