65 lines
1.6 KiB
PHP
65 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace Doctrine\Persistence;
|
|
|
|
use UnexpectedValueException;
|
|
use function interface_exists;
|
|
|
|
/**
|
|
* Contract for a Doctrine persistence layer ObjectRepository class to implement.
|
|
*/
|
|
interface ObjectRepository
|
|
{
|
|
/**
|
|
* Finds an object by its primary key / identifier.
|
|
*
|
|
* @param mixed $id The identifier.
|
|
*
|
|
* @return object|null The object.
|
|
*/
|
|
public function find($id);
|
|
|
|
/**
|
|
* Finds all objects in the repository.
|
|
*
|
|
* @return object[] The objects.
|
|
*/
|
|
public function findAll();
|
|
|
|
/**
|
|
* Finds objects by a set of criteria.
|
|
*
|
|
* Optionally sorting and limiting details can be passed. An implementation may throw
|
|
* an UnexpectedValueException if certain values of the sorting or limiting details are
|
|
* not supported.
|
|
*
|
|
* @param mixed[] $criteria
|
|
* @param string[]|null $orderBy
|
|
* @param int|null $limit
|
|
* @param int|null $offset
|
|
*
|
|
* @return object[] The objects.
|
|
*
|
|
* @throws UnexpectedValueException
|
|
*/
|
|
public function findBy(array $criteria, ?array $orderBy = null, $limit = null, $offset = null);
|
|
|
|
/**
|
|
* Finds a single object by a set of criteria.
|
|
*
|
|
* @param mixed[] $criteria The criteria.
|
|
*
|
|
* @return object|null The object.
|
|
*/
|
|
public function findOneBy(array $criteria);
|
|
|
|
/**
|
|
* Returns the class name of the object managed by the repository.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getClassName();
|
|
}
|
|
|
|
interface_exists(\Doctrine\Common\Persistence\ObjectRepository::class);
|