Files
oficial/app/common/Define/Repository.php

43 lines
846 B
PHP
Raw Normal View History

<?php
namespace Incoviba\Common\Define;
2025-03-03 14:57:22 -03:00
use Incoviba\Common\Implement\Exception\EmptyResult;
use PDOException;
interface Repository
{
2025-03-03 14:57:22 -03:00
/**
* @param array|null $data
* @return Model
*/
public function create(?array $data = null): Model;
2025-03-03 14:57:22 -03:00
/**
* @param Model $model
* @return Model
* @throws PDOException
*/
public function save(Model $model): Model;
2025-03-03 14:57:22 -03:00
/**
* @param array $data_row
* @return Model
*/
public function load(array $data_row): Model;
2025-03-03 14:57:22 -03:00
/**
* @param Model $model
* @param array $new_data
* @return Model
* @throws EmptyResult
*/
public function edit(Model $model, array $new_data): Model;
2025-03-03 14:57:22 -03:00
/**
* @param Model $model
* @return void
* @throws PDOException
*/
public function remove(Model $model): void;
}