Interface EntityInterface
Describes the methods that any class representing a data storage should comply with.
Property Summary
-
$id public @property
mixed
Alias for commonly used primary key.
Method Summary
-
clean() public
Sets the entire entity as clean, which means that it will appear as no fields being modified or added at all. This is an useful call for an initial object hydration
-
extract() public
Returns an array with the requested fields stored in this entity, indexed by field name
-
extractOriginal() public
Returns an array with the requested original fields stored in this entity, indexed by field name.
-
extractOriginalChanged() public
Returns an array with only the original fields stored in this entity, indexed by field name.
-
get() public
Returns the value of a field by name
-
getAccessible() public
Accessible configuration for this entity.
-
getDirty() public
Gets the dirty fields.
-
getError() public
Returns validation errors of a field
-
getErrors() public
Returns all validation errors.
-
getHidden() public
Gets the hidden fields.
-
getOriginal() public
Returns the original value of a field.
-
getOriginalFields() public
Returns an array of original fields. Original fields are those that an entity was initialized with.
-
getOriginalValues() public
Gets all original values of the entity.
-
getSource() public
Returns the alias of the repository from which this entity came from.
-
getVirtual() public
Gets the virtual fields on this entity.
-
getVisible() public
Get the list of visible fields.
-
has() public
Returns whether this entity contains a field named $field.
-
hasErrors() public
Returns whether this entity has errors.
-
hasOriginal() public
Returns whether a field has an original value
-
hasValue() public @method
-
isAccessible() public
Checks if a field is accessible
-
isDirty() public
Checks if the entity is dirty or if a single field of it is dirty.
-
isNew() public
Returns whether this entity has already been persisted.
-
isOriginalField() public
Returns whether a field is an original one. Original fields are those that an entity was instantiated with.
-
requireFieldPresence() public
Enable/disable field presence check when accessing a property.
-
set() public
Sets one or multiple fields to the specified value
-
setAccess() public
Stores whether a field value can be changed or set in this entity.
-
setDirty() public
Sets the dirty status of a single field.
-
setError() public
Sets errors for a single field
-
setErrors() public
Sets error messages to the entity
-
setHidden() public
Sets hidden fields.
-
setNew() public
Set the status of this entity.
-
setSource() public
Sets the source alias
-
setVirtual() public
Sets the virtual fields on this entity.
-
toArray() public
Returns an array with all the visible fields set in this entity.
-
unset() public
Removes a field or list of fields from this entity
Method Detail
clean() ¶ public
clean(): void
Sets the entire entity as clean, which means that it will appear as no fields being modified or added at all. This is an useful call for an initial object hydration
Returns
void
extract() ¶ public
extract(list<string> $fields, bool $onlyDirty = false): array<string, mixed>
Returns an array with the requested fields stored in this entity, indexed by field name
Parameters
-
list<string>
$fields list of fields to be returned
-
bool
$onlyDirty optional Return the requested field only if it is dirty
Returns
array<string, mixed>
extractOriginal() ¶ public
extractOriginal(list<string> $fields): array<string, mixed>
Returns an array with the requested original fields stored in this entity, indexed by field name.
Parameters
-
list<string>
$fields List of fields to be returned
Returns
array<string, mixed>
extractOriginalChanged() ¶ public
extractOriginalChanged(list<string> $fields): array<string, mixed>
Returns an array with only the original fields stored in this entity, indexed by field name.
Parameters
-
list<string>
$fields List of fields to be returned
Returns
array<string, mixed>
get() ¶ public
get(string $field): mixed
Returns the value of a field by name
Parameters
-
string
$field the name of the field to retrieve
Returns
mixed
getAccessible() ¶ public
getAccessible(): array<bool>
Accessible configuration for this entity.
Returns
array<bool>
getError() ¶ public
getError(string $field): array
Returns validation errors of a field
Parameters
-
string
$field Field name to get the errors from
Returns
array
getOriginal() ¶ public
getOriginal(string $field, bool $allowFallback = true): mixed
Returns the original value of a field.
Parameters
-
string
$field The name of the field.
-
bool
$allowFallback optional whether to allow falling back to the current field value if no original exists
Returns
mixed
getOriginalFields() ¶ public
getOriginalFields(): array<string>
Returns an array of original fields. Original fields are those that an entity was initialized with.
Returns
array<string>
getOriginalValues() ¶ public
getOriginalValues(): array
Gets all original values of the entity.
Returns
array
getSource() ¶ public
getSource(): string
Returns the alias of the repository from which this entity came from.
Returns
string
getVirtual() ¶ public
getVirtual(): array<string>
Gets the virtual fields on this entity.
Returns
array<string>
getVisible() ¶ public
getVisible(): array<string>
Get the list of visible fields.
Returns
array<string>
has() ¶ public
has(array<string>|string $field): bool
Returns whether this entity contains a field named $field.
The method will return true
even when the field is set to null
.
Parameters
-
array<string>|string
$field The field to check.
Returns
bool
hasErrors() ¶ public
hasErrors(bool $includeNested = true): bool
Returns whether this entity has errors.
Parameters
-
bool
$includeNested optional true will check nested entities for hasErrors()
Returns
bool
hasOriginal() ¶ public
hasOriginal(string $field): bool
Returns whether a field has an original value
Parameters
-
string
$field
Returns
bool
isAccessible() ¶ public
isAccessible(string $field): bool
Checks if a field is accessible
Parameters
-
string
$field Field name to check
Returns
bool
isDirty() ¶ public
isDirty(string|null $field = null): bool
Checks if the entity is dirty or if a single field of it is dirty.
Parameters
-
string|null
$field optional The field to check the status for. Null for the whole entity.
Returns
bool
isOriginalField() ¶ public
isOriginalField(string $name): bool
Returns whether a field is an original one. Original fields are those that an entity was instantiated with.
Parameters
-
string
$name
Returns
bool
requireFieldPresence() ¶ public
requireFieldPresence(bool $value = true): void
Enable/disable field presence check when accessing a property.
If enabled an exception will be thrown when trying to access a non-existent property.
Parameters
-
bool
$value optional true
to enable,false
to disable.
Returns
void
set() ¶ public
set(array<string, mixed>|string $field, mixed $value = null, array<string, mixed> $options = []): $this
Sets one or multiple fields to the specified value
Parameters
-
array<string, mixed>|string
$field the name of field to set or a list of fields with their respective values
-
mixed
$value optional The value to set to the field or an array if the first argument is also an array, in which case will be treated as $options
-
array<string, mixed>
$options optional Options to be used for setting the field. Allowed option keys are
setter
andguard
Returns
$this
setAccess() ¶ public
setAccess(array<string>|string $field, bool $set): $this
Stores whether a field value can be changed or set in this entity.
Parameters
-
array<string>|string
$field single or list of fields to change its accessibility
-
bool
$set true marks the field as accessible, false will mark it as protected.
Returns
$this
setDirty() ¶ public
setDirty(string $field, bool $isDirty = true): $this
Sets the dirty status of a single field.
Parameters
-
string
$field the field to set or check status for
-
bool
$isDirty optional true means the field was changed, false means it was not changed. Default true.
Returns
$this
setError() ¶ public
setError(string $field, array|string $errors, bool $overwrite = false): $this
Sets errors for a single field
Parameters
-
string
$field The field to get errors for, or the array of errors to set.
-
array|string
$errors The errors to be set for $field
-
bool
$overwrite optional Whether to overwrite pre-existing errors for $field
Returns
$this
setErrors() ¶ public
setErrors(array $errors, bool $overwrite = false): $this
Sets error messages to the entity
Parameters
-
array
$errors The array of errors to set.
-
bool
$overwrite optional Whether to overwrite pre-existing errors for $fields
Returns
$this
setHidden() ¶ public
setHidden(list<string> $fields, bool $merge = false): $this
Sets hidden fields.
Parameters
-
list<string>
$fields An array of fields to hide from array exports.
-
bool
$merge optional Merge the new fields with the existing. By default false.
Returns
$this
setNew() ¶ public
setNew(bool $new): $this
Set the status of this entity.
Using true
means that the entity has not been persisted in the database,
false
indicates that the entity has been persisted.
Parameters
-
bool
$new Indicate whether this entity has been persisted.
Returns
$this
setSource() ¶ public
setSource(string $alias): $this
Sets the source alias
Parameters
-
string
$alias the alias of the repository
Returns
$this
setVirtual() ¶ public
setVirtual(list<string> $fields, bool $merge = false): $this
Sets the virtual fields on this entity.
Parameters
-
list<string>
$fields An array of fields to treat as virtual.
-
bool
$merge optional Merge the new fields with the existing. By default false.
Returns
$this
toArray() ¶ public
toArray(): array
Returns an array with all the visible fields set in this entity.
Note hidden fields are not visible, and will not be output by toArray().
Returns
array
unset() ¶ public
unset(array<string>|string $field): $this
Removes a field or list of fields from this entity
Parameters
-
array<string>|string
$field The field to unset.
Returns
$this