- WIP on removing annotations
This commit is contained in:
parent
953fc35680
commit
bfc1e1cf93
|
@ -0,0 +1,22 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Ulmus\Entity;
|
||||||
|
|
||||||
|
use Ulmus\Common\{ EntityField, EntityResolver };
|
||||||
|
use Ulmus\{ ConnectionAdapter, EntityCollection, Query\QueryBuilderInterface, Repository };
|
||||||
|
|
||||||
|
interface EntityInterface /* extends \JsonSerializable */
|
||||||
|
{
|
||||||
|
public function fromArray(iterable $dataset) : static;
|
||||||
|
public function entityGetDataset(bool $includeRelations = false, bool $returnSource = false) : array;
|
||||||
|
public function toArray($includeRelations = false, array $filterFields = null) : array;
|
||||||
|
public function toCollection() : EntityCollection;
|
||||||
|
public function isLoaded() : bool;
|
||||||
|
public function jsonSerialize() : mixed;
|
||||||
|
public static function resolveEntity() : EntityResolver;
|
||||||
|
public static function repository(string $alias = Repository::DEFAULT_ALIAS, ConnectionAdapter $adapter = null) : Repository;
|
||||||
|
public static function entityCollection(...$arguments) : EntityCollection;
|
||||||
|
public static function queryBuilder() : QueryBuilderInterface;
|
||||||
|
public static function field($name, null|string|bool $alias = Repository::DEFAULT_ALIAS) : EntityField;
|
||||||
|
public static function fields(array $fields, null|string|bool $alias = Repository::DEFAULT_ALIAS, string $separator = ', ') : string;
|
||||||
|
}
|
|
@ -4,9 +4,9 @@ namespace Ulmus;
|
||||||
|
|
||||||
use Notes\Attribute\Ignore;
|
use Notes\Attribute\Ignore;
|
||||||
use Psr\Http\Message\ServerRequestInterface;
|
use Psr\Http\Message\ServerRequestInterface;
|
||||||
use Ulmus\{
|
use Ulmus\{Common\EntityResolver,
|
||||||
Common\EntityResolver,
|
|
||||||
Common\EntityField,
|
Common\EntityField,
|
||||||
|
Query\QueryBuilderInterface,
|
||||||
SearchRequest\SearchRequestInterface,
|
SearchRequest\SearchRequestInterface,
|
||||||
SearchRequest\SearchRequestPaginationTrait};
|
SearchRequest\SearchRequestPaginationTrait};
|
||||||
use Ulmus\Annotation\Classes\{ Method, Table, Collation, };
|
use Ulmus\Annotation\Classes\{ Method, Table, Collation, };
|
||||||
|
@ -28,6 +28,10 @@ trait EntityTrait {
|
||||||
|
|
||||||
#[Ignore]
|
#[Ignore]
|
||||||
public function __construct(array $dataset = null) {
|
public function __construct(array $dataset = null) {
|
||||||
|
if ($dataset) {
|
||||||
|
$this->entityFillFromDataset($dataset);
|
||||||
|
}
|
||||||
|
|
||||||
$this->resetVirtualProperties();
|
$this->resetVirtualProperties();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -136,7 +140,7 @@ trait EntityTrait {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Ignore]
|
#[Ignore]
|
||||||
public function fromArray(iterable $dataset) : self
|
public function fromArray(iterable $dataset) : static
|
||||||
{
|
{
|
||||||
return $this->entityFillFromDataset($dataset);
|
return $this->entityFillFromDataset($dataset);
|
||||||
}
|
}
|
||||||
|
@ -300,7 +304,7 @@ trait EntityTrait {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Ignore]
|
#[Ignore]
|
||||||
public static function queryBuilder() : QueryBuilder
|
public static function queryBuilder() : QueryBuilderInterface
|
||||||
{
|
{
|
||||||
return Ulmus::queryBuilder(static::class);
|
return Ulmus::queryBuilder(static::class);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue