- WIP on removing annotations
This commit is contained in:
		
							parent
							
								
									953fc35680
								
							
						
					
					
						commit
						bfc1e1cf93
					
				
							
								
								
									
										22
									
								
								src/Entity/EntityInterface.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								src/Entity/EntityInterface.php
									
									
									
									
									
										Normal file
									
								
							| @ -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 Psr\Http\Message\ServerRequestInterface; | ||||
| use Ulmus\{ | ||||
|     Common\EntityResolver, | ||||
| use Ulmus\{Common\EntityResolver, | ||||
|     Common\EntityField, | ||||
|     Query\QueryBuilderInterface, | ||||
|     SearchRequest\SearchRequestInterface, | ||||
|     SearchRequest\SearchRequestPaginationTrait}; | ||||
| use Ulmus\Annotation\Classes\{ Method, Table, Collation, }; | ||||
| @ -28,6 +28,10 @@ trait EntityTrait { | ||||
| 
 | ||||
|     #[Ignore]
 | ||||
|     public function __construct(array $dataset = null) { | ||||
|         if ($dataset) { | ||||
|             $this->entityFillFromDataset($dataset); | ||||
|         } | ||||
| 
 | ||||
|         $this->resetVirtualProperties(); | ||||
|     } | ||||
| 
 | ||||
| @ -136,7 +140,7 @@ trait EntityTrait { | ||||
|     } | ||||
| 
 | ||||
|     #[Ignore]
 | ||||
|     public function fromArray(iterable $dataset) : self | ||||
|     public function fromArray(iterable $dataset) : static | ||||
|     { | ||||
|         return $this->entityFillFromDataset($dataset); | ||||
|     } | ||||
| @ -300,7 +304,7 @@ trait EntityTrait { | ||||
|     } | ||||
| 
 | ||||
|     #[Ignore]
 | ||||
|     public static function queryBuilder() : QueryBuilder | ||||
|     public static function queryBuilder() : QueryBuilderInterface | ||||
|     { | ||||
|         return Ulmus::queryBuilder(static::class); | ||||
|     } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user