| Install | |
|---|---|
composer require morilog/flexible-repository |
|
| Latest Version: | v0.1.4 |
A Laravel package for creating Flexible and powerful repositories
composer require morilog/flexible-repository
interface for your repository that extended from Morilog\FlexibleRepository\Contracts\RepositoryInterface<?php
namesapce App\Reposiotries;
use Morilog\FlexibleRepository\Contracts\RepositoryInterface;
interface UserRepository extends RepositoryInterface
{
}
Morilog\FlexibleRepository\BaseEloquentRepository and implements your declared interface<?php
namespace App\Repositories;
use Morilog\FlexibleRepository\BaseEloquentRepository;
use App\Models\User;
class EloquentUserRepository extends BaseEloquentRepository implements UserRepository
{
protected function model()
{
return User::class;
}
}
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use App\Repositories\UserRepository;
use App\Repositories\EloqeuntUserRepository;
class RepositoryServiceProvider extends ServiceProvider
{
public function register()
{
$this->app->bind(UserRepository::class, function ($app) {
return new EloquentUserRepository($app);
});
// or
// $this->app->bind(UserRepository::class, EloquentUserRepository::class);
}
}
<?php
namespace App\Http\Controllers;
use App\Repositories\UserReposiotry;
class UsersController extends Controller
{
public function index(UserRepository $repository)
{
return $repository->all();
}
}