Interface, Abstract, Factory

This commit is contained in:
2020-07-22 14:07:37 -04:00
parent 4cb16a69a3
commit f63ec7a482
3 changed files with 503 additions and 0 deletions

14
common/Alias/Model.php Normal file
View File

@ -0,0 +1,14 @@
<?php
namespace ProVM\Common\Alias;
use ProVM\Common\Factory\Model as ModelFactory;
interface Model {
public function getTable(): string;
public function setFactory(ModelFactory $factory): Model;
public function parentOf(string $child_model_class, array $relation_definitions): array;
public function childOf(string $parent_model_class, array $relation_definitions): Model;
public function siblingOf(string $sibling_model_class, string $connecting_table, array $relation_definitions): array;
public function toArray(): array;
}