@@ -46,6 +46,37 @@ services:
4646 arguments :
4747 $typeResolver : ' @Derafu\Form\Type\TypeResolver'
4848
49+ # ── Data Processor ────────────────────────────────────────────────
50+ # Created via static factory with all default rules (cast, transform,
51+ # sanitize, validate). Apps can swap this for a custom-configured
52+ # processor by overriding the alias.
53+
54+ Derafu\DataProcessor\Contract\ProcessorInterface :
55+ factory : ['Derafu\DataProcessor\ProcessorFactory', 'createDefault']
56+
57+ # ── Form Data Processor ───────────────────────────────────────────
58+ # Bridges derafu/form schemas with derafu/data-processor rules.
59+ # SchemaToRulesMapper converts JSON Schema constraints (minLength,
60+ # format, required, etc.) into data-processor rule strings.
61+
62+ Derafu\Form\Processor\SchemaToRulesMapper : ~
63+
64+ Derafu\Form\Processor\FormDataProcessor :
65+ arguments :
66+ $mapper : ' @Derafu\Form\Processor\SchemaToRulesMapper'
67+ $processor : ' @Derafu\DataProcessor\Contract\ProcessorInterface'
68+
69+ # ── Form Loader ───────────────────────────────────────────────────
70+ # Uses PhpFormLoader from derafu/form. Files are .form.php scripts
71+ # that return a Closure (dynamic, receives context) or a plain array.
72+ # Paths are registered by FormPathsPass compiler pass:
73+ # 1. Bundle resources/forms/ directories (auto-discovered)
74+ # 2. App forms_path (highest priority, overrides bundles)
75+
76+ Derafu\Form\Loader\PhpFormLoader :
77+ arguments :
78+ $formFactory : ' @Derafu\Form\Contract\Factory\FormFactoryInterface'
79+
4980 # ── Interface Aliases ─────────────────────────────────────────────
5081
5182 Derafu\Form\Contract\Factory\FormFactoryInterface :
@@ -56,3 +87,12 @@ services:
5687
5788 Derafu\Form\Contract\Type\TypeResolverInterface :
5889 alias : Derafu\Form\Type\TypeResolver
90+
91+ Derafu\Form\Contract\Processor\FormDataProcessorInterface :
92+ alias : Derafu\Form\Processor\FormDataProcessor
93+
94+ Derafu\Form\Contract\Processor\SchemaToRulesMapperInterface :
95+ alias : Derafu\Form\Processor\SchemaToRulesMapper
96+
97+ Derafu\Form\Contract\Loader\FormLoaderInterface :
98+ alias : Derafu\Form\Loader\PhpFormLoader
0 commit comments