2022-09-08 21:35:25 -04:00
|
|
|
<?php
|
|
|
|
namespace ProVM\Concept;
|
|
|
|
|
2022-09-09 15:55:45 -04:00
|
|
|
use JsonSerializable;
|
|
|
|
use ProVM\Concept\Model\Repository;
|
2022-09-08 21:35:25 -04:00
|
|
|
|
2022-09-09 15:55:45 -04:00
|
|
|
interface Model extends JsonSerializable
|
2022-09-08 21:35:25 -04:00
|
|
|
{
|
2022-09-09 15:55:45 -04:00
|
|
|
public function setRepository(Repository $factory): Model;
|
|
|
|
public function getRepository(): Repository;
|
2022-09-08 21:35:25 -04:00
|
|
|
public function setId(int $id): Model;
|
|
|
|
public function getId(): int;
|
|
|
|
public function setNew(): Model;
|
|
|
|
public function isNew(): bool;
|
|
|
|
public function setDirty(): Model;
|
|
|
|
public function isDirty(): bool;
|
|
|
|
public function save(): void;
|
|
|
|
public function edit(array $data): void;
|
2022-09-09 13:15:27 -04:00
|
|
|
public function delete(): void;
|
2022-09-08 21:35:25 -04:00
|
|
|
}
|