Skip to main content
Version: Next ๐Ÿšง

Values

Definition & Principles#

Values are short names for the known "Value Objects" which are simple Objects, pretty similar to Models in the concept of representing data, but they do not get stored in the DB, thus they don't have ID's. They also do not hold functionality or change any state, they just hold data.

A Value Object is an immutable object that is defined by its encapsulated attributes. We create Value Object when we need it to represent/serve/manipulate some data (attached as attributes), and we'll kill it later when we don't need it anymore, to recreate it again when needed.

Rules#

  • All Models MUST extend from App\Ship\Parents\Values\Value.

Folder Structure#

- App
- Containers
- {section-name}
- {container-name}
- Values
- Output.php
- Region.php
- ...

Code Sample#

class Location extends Value
{
private $x = null;
private $y = null;
protected $resourceKey = 'locales';
public function __construct($x, $y)
{
$this->x = $x;
$this->y = $y;
}
public function getCoordinatesAsString()
{
return $this->x . ' - ' . $this->y;
}
}
Last updated on by Mohammad Alavi