kocal / zend-expressive-database
This package is abandoned and no longer maintained.
The author suggests using the kocal/zend-expressive-database package instead.
Database subcomponent for Expressive
v1.0
2017-08-05 21:07 UTC
Requires
- psr/container: ^1.0
This package is auto-updated.
Last update: 2024-05-17 18:06:19 UTC
README
A Zend-Expressive subcomponent for easily unifying database ORM usage.
Current implementations
Usage
DatabaseFactoryInterface
This interface should be implemented by a class that will be invoked by Zend Expressive to initialize the ORM.
Example for Doctrine:
<?php use Doctrine\ORM\EntityManager; use Kocal\Expressive\Database\DatabaseFactoryInterface; use Psr\Container\ContainerInterface; class EntityManagerFactory implements DatabaseFactoryInterface { public function __invoke(ContainerInterface $container) { $config = $container->get('config'); // ... return EntityManager::create($foo, $bar); } }
DatabaseRepositoryInterface
This interface should be implemented by a repository.
Example:
<?php use \Kocal\Expressive\Database\DatabaseRepository; class PostRepository implements DatabaseRepository { /** * Finds all Entities in the repository. * @return mixed */ public function all() { } /** * Finds the first Entity in the repository. * @return mixed */ public function first() { } /** * Finds the last Entity in the repository. * @return mixed */ public function last() { } /** * Finds an Entity by its ID. * @param mixed $id * @return mixed */ public function find($id) { } /** * Finds all Entities where `$field` value is equal `$value`. * @param string $field * @param mixed $value * @param array|null $orderBy * @return mixed */ public function findByField($field, $value, $orderBy = null) { } /** * Finds all Entities depending on `$criteria`. * @param array $criteria * @param array|null $orderBy * @param int|null $limit * @param int|null $offset * @return mixed */ public function findWhere(array $criteria, $orderBy = null, $limit = null, $offset = null) { } /** * Finds Entities where `$column` is in `$where` array. * @param string $column * @param array $where * @return mixed */ public function findWhereIn($column, array $where) { } /** * Finds Entities where `$column` is not in `$where` array. * @param string $column * @param array $where * @return mixed */ public function findWhereNotIn($column, array $where) { } /** * Save an Entity. * @param object $entity * @return void */ public function save($entity) { } /** * Delete an Entity by its ID or by itself. * @param int|object $idOrEntity * @return void */ public function delete($idOrEntity) { } }