wandu/laravel-repository

This package is abandoned and no longer maintained. The author suggests using the wandu/laravel-repository package instead.

For Laravel Repository Pattern

v0.10.0 2016-02-04 02:17 UTC

README

Latest Stable Version Latest Unstable Version Total Downloads License

Build Status Code Coverage Scrutinizer Code Quality

For Laravel Repository Pattern.

라라벨 모델을 기반으로 저장소 패턴을 만들기위한 패키지입니다. 모델과 컨트롤러 사이에 레이어를 두게되면 관찰자 패턴을 구현하기 편하고, 동일한 질의가 두번 요청 되었을 때, 중복으로 데이터베이스에 요청하는 것을 막을 수 있습니다.

사용법

3가지 방식의 저장소를 사용할 수 있습니다.

  1. default repository
  2. pagination repository
  3. more items repository

1. Default Repository

namespace Wandu\Laravel\Repository\Stubs\Repository;

use Wandu\Laravel\Repository\Repository;
use Wandu\Laravel\Repository\Stubs\Model\ArticleHit;

class ArticleHitRepository extends Repository
{
    /** @var string */
    protected $model = ArticleHit::class;
}

Methods(매서드)

2. Pagination Repository

1페이지, 2페이지, ... 의 구조로 구현할 때 사용하는 방식입니다

namespace Wandu\Laravel\Repository\Stubs\Repository;

use Wandu\Laravel\Repository\PaginationRepositoryInterface;
use Wandu\Laravel\Repository\Repository;
use Wandu\Laravel\Repository\Stubs\Model\User;
use Wandu\Laravel\Repository\Traits\UsePaginationRepository;

class UserRepository extends Repository implements PaginationRepositoryInterface
{
    use UsePaginationRepository;

    /** @var string */
    protected $model = User::class;
}

3. More Items Repository

아이템 더 보기... 의 구조로 구현할 때 사용하는 방식입니다

namespace Wandu\Laravel\Repository\Stubs\Repository;

use Wandu\Laravel\Repository\MoreItemsRepositoryInterface;
use Wandu\Laravel\Repository\Repository;
use Wandu\Laravel\Repository\Stubs\Model\User;
use Wandu\Laravel\Repository\Traits\UseMoreItemsRepository;

class UserRepository extends Repository implements MoreItemsRepositoryInterface
{
    use UseMoreItemsRepository;

    /** @var string */
    protected $model = User::class;
}