20241102#1

This commit is contained in:
User
2024-11-02 07:31:03 +03:00
parent 1b0af12a46
commit 035f88ea72
33 changed files with 56 additions and 54 deletions

View File

@@ -0,0 +1,17 @@
<?php
/**
* Created by PhpStorm.
* User: Zuev Yuri
*/
namespace Base\Domain;
abstract class AbstractObject implements EntityInterface {
/**
* @return int|null
*/
public function getId(): mixed {
return (isset($this->id)) ? (($this->id instanceof ValueObjectInterface) ? $this->id->get() : $this->id) : null;
}
}

View File

@@ -0,0 +1,15 @@
<?php
namespace Base\Domain;
use Throwable;
class DomainException extends \Exception {
public array $data;
public function __construct($message="", $code=0, array $data = [], Throwable $previous=null) {
parent::__construct($message, $code, $previous);
$this->data = $data;
}
}

View File

@@ -0,0 +1,18 @@
<?php
/**
* Created by PhpStorm.
* User: Zuev Yuri
* Date: 23.04.2024
* Time: 3:58
*/
namespace Base\Domain;
interface EntityInterface {
/**
* @return int|null
*/
public function getId(): mixed;
}

View File

@@ -0,0 +1,16 @@
<?php
/**
* Created by PhpStorm.
* User: Zuev Yuri
* Date: 23.04.2024
* Time: 3:58
*/
namespace Base\Domain;
interface ValueObjectInterface {
public function get();
public function __toString(): string;
}