20250224#1

This commit is contained in:
User
2025-02-24 18:33:53 +03:00
parent dfbcfdf321
commit 5b0c0bc7b4
6 changed files with 9 additions and 14 deletions

View File

@@ -3,11 +3,11 @@
namespace Rmphp\Storage;
use Rmphp\Storage\Entity\EntityInterface;
use Rmphp\Storage\Exception\RepositoryException;
use Rmphp\Storage\Mysql\MysqlRepositoryInterface;
use Rmphp\Storage\Mysql\MysqlResultData;
use Rmphp\Storage\Mysql\MysqlStorageInterface;
use Rmphp\Storage\Repository\AbstractRepository;
use Rmphp\Storage\Repository\RepositoryException;
abstract class AbstractMysqlRepository extends AbstractRepository implements MysqlRepositoryInterface {

View File

@@ -12,7 +12,6 @@ class AbstractDataObject {
private static array $constructorNullAvailableClasses = [];
private static array $stack = [];
//TODO Имя и Папка где лежит и Зависимость
/**
* @param ReflectionClass $class
* @param object $object
@@ -73,9 +72,6 @@ class AbstractDataObject {
elseif(isset($value[$property->getName()])){
$object->{$property->getName()} = $value[$property->getName()];
}
elseif($property->getType()->allowsNull()){
$object->{$property->getName()} = null;
}
}
}
self::$stack[$object::class." #".spl_object_id($object)]['properties'] = $prop ?? [];

View File

@@ -1,6 +1,6 @@
<?php
namespace Rmphp\Storage\Repository;
namespace Rmphp\Storage\Exception;
use Throwable;

View File

@@ -9,7 +9,7 @@
namespace Rmphp\Storage\Mysql;
use Rmphp\Storage\Entity\EntityInterface;
use Rmphp\Storage\Repository\RepositoryException;
use Rmphp\Storage\Exception\RepositoryException;
use Rmphp\Storage\Repository\RepositoryInterface;
interface MysqlRepositoryInterface extends RepositoryInterface {

View File

@@ -7,6 +7,7 @@ use ReflectionClass;
use ReflectionException;
use Rmphp\Storage\Component\AbstractDataObject;
use Rmphp\Storage\Entity\ValueObjectInterface;
use Rmphp\Storage\Exception\RepositoryException;
abstract class AbstractRepository extends AbstractDataObject implements RepositoryInterface {
@@ -26,10 +27,8 @@ abstract class AbstractRepository extends AbstractDataObject implements Reposito
$fieldValue[$property->getName()] = $object->{'get'.ucfirst($property->getName())}($property->getValue($object));
}
elseif($property->hasType() && class_exists($property->getType()->getName()) && $property->getValue($object) instanceof ValueObjectInterface){
$voClass = $property->getType()->getName();
if(!isset(self::$classes[$voClass])) self::$classes[$voClass] = new ReflectionClass($voClass);
$dd[$property->getName()] = self::$classes[$voClass];
$fieldValue[$property->getName()] = $property->getValue($object)->getValue();
$value = $property->getValue($object)->getValue();
if(isset($value)) $fieldValue[$property->getName()] = $value;
}
elseif(is_bool($property->getValue($object))){
$fieldValue[$property->getName()] = (int) $property->getValue($object);
@@ -38,12 +37,10 @@ abstract class AbstractRepository extends AbstractDataObject implements Reposito
$fieldValue[$property->getName()] = $property->getValue($object);
}
if(array_key_exists($property->getName(), $fieldValue)) {
if(false !== $fieldValue[$property->getName()]) {
$out[strtolower(preg_replace("'([A-Z])'", "_$1", $property->getName()))] = $fieldValue[$property->getName()];
}
}
//dd($fieldValue);
//dd($dd, self::$classes);
return (isset($method)) ? array_map($method, $out ?? []) : $out ?? [];
}
catch (ReflectionException $exception) {

View File

@@ -9,6 +9,8 @@
namespace Rmphp\Storage\Repository;
use Rmphp\Storage\Exception\RepositoryException;
interface RepositoryInterface {
/**