Template
in
Marker interface for template classes.
Templates are invokable classes where:
- Constructor parameters are service dependencies (wired by DI container)
- __invoke() parameters are the data contract (checked by PHPStan)
- __invoke() returns a Node
PHPStan validates __invoke() signatures on concrete classes directly. Generic return type inference for require'd files is not yet supported: