final class DataClass

Immutable construction and transformation metadata for one data class.

Methods

__construct(string $name, array $properties, array $methods, ReflectionMethod|null $constructor, array $constructorParameters, array $contextualParameters, bool $isReadonly, bool $isAbstract, bool $isFinal, bool $propertyMorphable, bool $appendable, bool $includeable, bool $responsable, bool $transformable, bool $validateable, bool $wrappable, bool $emptyData, array $lifecycleMethods, bool $mergeValidationRules, bool $failOnUnknownFields, bool $stopOnFirstFailure, string|null $errorBag, string|null $redirect, string|null $redirectRoute, bool $bulkCopyTransformation, DataTransformationRecipe|null $transformationRecipe, DataCreationRecipe|null $creationRecipe, bool $directConstructorInstantiation, DataAttributesCollection $attributes, array $dataIterablePropertyAnnotations, array $outputMappedProperties)

Create a new data class definition.

bool
hasLifecycleMethod(string $method)

Determine if the class declares a creation lifecycle method.

Details

at line 35
__construct(string $name, array $properties, array $methods, ReflectionMethod|null $constructor, array $constructorParameters, array $contextualParameters, bool $isReadonly, bool $isAbstract, bool $isFinal, bool $propertyMorphable, bool $appendable, bool $includeable, bool $responsable, bool $transformable, bool $validateable, bool $wrappable, bool $emptyData, array $lifecycleMethods, bool $mergeValidationRules, bool $failOnUnknownFields, bool $stopOnFirstFailure, string|null $errorBag, string|null $redirect, string|null $redirectRoute, bool $bulkCopyTransformation, DataTransformationRecipe|null $transformationRecipe, DataCreationRecipe|null $creationRecipe, bool $directConstructorInstantiation, DataAttributesCollection $attributes, array $dataIterablePropertyAnnotations, array $outputMappedProperties)

Create a new data class definition.

Contextual parameter names include promoted and constructor-only forms. Declaration validation prevents constructor-only names from colliding with data properties. Bulk-copy transformation and fixed transformation recipes are mutually exclusive; when both are absent, transformation uses the general property loop.

Parameters

string $name
array $properties
array $methods
ReflectionMethod|null $constructor
array $constructorParameters
array $contextualParameters
bool $isReadonly
bool $isAbstract
bool $isFinal
bool $propertyMorphable
bool $appendable
bool $includeable
bool $responsable
bool $transformable
bool $validateable
bool $wrappable
bool $emptyData
array $lifecycleMethods
bool $mergeValidationRules
bool $failOnUnknownFields
bool $stopOnFirstFailure
string|null $errorBag
string|null $redirect
string|null $redirectRoute
bool $bulkCopyTransformation
DataTransformationRecipe|null $transformationRecipe
DataCreationRecipe|null $creationRecipe
bool $directConstructorInstantiation
DataAttributesCollection $attributes
array $dataIterablePropertyAnnotations
array $outputMappedProperties

at line 73
bool hasLifecycleMethod(string $method)

Determine if the class declares a creation lifecycle method.

Parameters

string $method

Return Value

bool