wandu / laravel-repository
v0.10.0
2016-02-04 02:17 UTC
Requires
- illuminate/cache: ^5.2
- illuminate/database: ^5.2
Requires (Dev)
- doctrine/dbal: *
- fzaninotto/faker: ^1.5
- illuminate/filesystem: ^5.2
- league/flysystem: ^1.0
- mockery/mockery: ^0.9
- phpunit/phpunit: ^4.8
README
适用于Laravel Repository模式。
这是一个基于Laravel模型的存储库模式的包。通过在模型和控制器之间添加一个层,可以更容易地实现观察者模式,并且可以防止相同的查询被重复请求,从而避免重复数据库请求。
使用方法
可以以三种方式使用存储库。
- 默认存储库
- 分页存储库
- 更多项目存储库
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; }