diff --git a/src/FileGenerators/InterfaceGenerator.php b/src/FileGenerators/InterfaceGenerator.php index c0e4451..99e0a3d 100644 --- a/src/FileGenerators/InterfaceGenerator.php +++ b/src/FileGenerators/InterfaceGenerator.php @@ -63,6 +63,19 @@ public function generate(): Node $class = $factory->interface($className) ->extend('ResourceInterface'); + $class->addStmt( + new Node\Stmt\ClassConst( + [ + new Node\Const_( + 'HYDRATE_CLASS', + new Node\Scalar\String_( + $this->yaml['class'] + ) + ) + ] + ) + ); + foreach ($this->yaml['properties'] as $name => $details) { $type = $details; if (is_array($details)) { diff --git a/tests/expected-app/src/Resources/Project/BuildInterface.php b/tests/expected-app/src/Resources/Project/BuildInterface.php index cf81e6a..85a5026 100644 --- a/tests/expected-app/src/Resources/Project/BuildInterface.php +++ b/tests/expected-app/src/Resources/Project/BuildInterface.php @@ -8,6 +8,8 @@ interface BuildInterface extends ResourceInterface { + const HYDRATE_CLASS = 'Project\\Build'; + /** * @return int */ diff --git a/tests/expected-app/src/Resources/Project/ConfigInterface.php b/tests/expected-app/src/Resources/Project/ConfigInterface.php index de6c220..355e605 100644 --- a/tests/expected-app/src/Resources/Project/ConfigInterface.php +++ b/tests/expected-app/src/Resources/Project/ConfigInterface.php @@ -6,6 +6,8 @@ interface ConfigInterface extends ResourceInterface { + const HYDRATE_CLASS = 'Project\\Config'; + /** * @return string */ diff --git a/tests/expected-app/src/Resources/ProjectInterface.php b/tests/expected-app/src/Resources/ProjectInterface.php index 2ebea67..a73fe4f 100644 --- a/tests/expected-app/src/Resources/ProjectInterface.php +++ b/tests/expected-app/src/Resources/ProjectInterface.php @@ -8,6 +8,8 @@ interface ProjectInterface extends ResourceInterface { + const HYDRATE_CLASS = 'Project'; + /** * @return int */