anik / repottern
此包已被废弃且不再维护。没有建议的替代包。
Repottern 是 Laravel 的仓库模式。
1.0.1
2016-07-23 17:40 UTC
Requires
- php: >=5.6
- illuminate/support: ~5
This package is auto-updated.
Last update: 2020-05-01 14:57:48 UTC
README
对于正在使用 MVC 并希望在 Thin Model、Thin Controller、Fat Repository 上工作的人。这个包会为你做到这一点。它的工作方式与 Laravel Eloquent 相同。完全一样,还有一些额外功能。
要求
- Laravel 5+
- PHP 5.6+
如何安装
composer require anik/repottern
用法
要使用它,你需要创建一个类,其中你的类将扩展 Anik\Repottern\BaseRepository
,然后实现该类中的模型方法,完成后即可。
现在,你可以将此类注入到方法中,也可以在构造函数中注入,或者使用该类以静态方式调用方法。
假设你有一个 User 模型。现在,
<?php // Repository class UserRepository extends BaseRepository { public function model () { return User::class; } protected function findUserWithWildCard() { return $this->where('username', 'LIKE', "%n%")->get(); } }
<?php // From controller class HomeController extends Controller { public function controllerMethod(UserRepository $repository) { # return $repository->with('role')->get(); # return $repository->paginate(10); # return $repository->find(10); # return $repository->findUserWithWildCard(); # return UserRepository::with('role')->get(); # return UserRepository::paginate(10); # return UserRepository::find(10); # return UserRepository::findUserWithWildCard(); } }
在这里需要注意的事项,为了使用类名以静态方式调用方法,你必须使用 protected 访问修饰符。
许可证
Repottern 在 MIT 许可下发布。
错误和问题
如果你发现任何错误或其他问题,请提交问题并让我知道。分支总是受欢迎的。