wandu/laravel-repository

此包已被弃用且不再维护。作者建议使用wandu/laravel-repository包。

适用于Laravel Repository模式

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

适用于Laravel Repository模式。

这是一个基于Laravel模型的存储库模式的包。通过在模型和控制器之间添加一个层,可以更容易地实现观察者模式,并且可以防止相同的查询被重复请求,从而避免重复数据库请求。

使用方法

可以以三种方式使用存储库。

  1. 默认存储库
  2. 分页存储库
  3. 更多项目存储库

1. 默认存储库

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;
}

方法(方法)

2. 分页存储库

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. 更多项目存储库

查看更多... 的结构实现方式

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;
}