From f413400c4065459e12b06016e35ea8c1c066bb13 Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Mon, 30 Jun 2025 10:24:43 +0400 Subject: [PATCH] modifs.mineures sans commentaires --- src/schema/TODO.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/schema/TODO.md b/src/schema/TODO.md index 1f5cda4..c318ab2 100644 --- a/src/schema/TODO.md +++ b/src/schema/TODO.md @@ -21,6 +21,33 @@ * `ScalarSchema::from_property()` +* pour le support des propriétés des objets, il faudrait pouvoir spécifier + comment instancier l'objet. je ne sais pas si ça doit se mettre au niveau du + type, du schéma, ou autre + ~~~php + Schema::ns($schema, [ + "rt" => ["?string", "required" => true], + "rtd" => ["?int", "required" => true, "default" => 42], + "ot" => ["?int"], + "otd" => ["?string", "default" => "hello"], + "ot2" => ["int"], + "" => ["assoc", + "class" => MyClass::class, + ], + ]); + + # peut provisionner la classe suivante + class MyClass { + public ?string $rt; + public ?int $rtd = 42; + public ?int $ot = null; + public ?string $otd = "hello"; + public int $ot2 = 0; + } + ~~~ + il y a potentiellement un problème d'oeuf et de poule si on se sert de ce + genre de définitions pour autogénérer la classe + * l'argument $format de AssocWrapper::format() est un tableau associatif `[$key => $format]` cela permet de spécifier des format spécifiques pour certains champs.