* @link https://www.oxidmodule.com */ declare(strict_types=1); namespace D3\LinkmobilityClient\ValueObject; use Assert\Assert; use Assert\InvalidArgumentException; abstract class ValueObject { protected $value; /** * @param string $number * @throws InvalidArgumentException */ public function __construct(string $number) { Assert::that($number)->notEmpty(); $this->value = $number; } public function get() { return $this->value; } public function getFormatted(): string { return $this->get(); } }