Repoman
Lightweight repository pattern interfaces and implementations., (*1)
See this article for a description of the repository pattern in Laravel., (*2)
Installation
$ composer require "3ev/repoman:~1.0"
Usage
Repoman provides a basic interface for a repository. You can implement it
yourself, or leverage one of the supplied implementations. You can extend the
interface for your own specific repository classes., (*3)
See the phpdoc in the source files for information on the API and errors., (*4)
Basic implementation
<?php
namespace Entity\Repositories;
use Tev\Repoman\Repositories\RepositoryInterface;
class Repository implements RepositoryInterface
{
public function getAll()
{
// ...
}
public function chunk($size, $callback)
{
// ...
}
public function find($id)
{
// ...
}
public function create(array $data)
{
// ...
}
public function update($id, array $data)
{
// ...
}
public function delete($id)
{
// ...
}
}
Eloquent
<?php
namespace Entity\Repositories\Eloquent;
use Entity\Models\ExampleModel;
use Tev\Repoman\Repositories\Eloquent\Repository;
class ExampleModelRepository extends Repository
{
public function __construct()
{
$this->model = new ExampleModel;
}
}
License
MIT, (*5)