taylornetwork / laravel-repository
此包最新版本(1.3.0)没有可用的许可信息。
一个用于动态绑定应用中所有现有仓库的服务提供者。
1.3.0
2017-09-09 19:50 UTC
Requires
- php: >=7.0.0
- laravel/framework: 5.5.*
This package is auto-updated.
Last update: 2024-09-24 11:46:42 UTC
README
创建将自动注册的简单且可定制的仓库。
安装
通过Composer
$ composer require taylornetwork/laravel-repository
设置
将服务提供者添加到config/app.php
中的providers数组
'providers' => [ TaylorNetwork\LaravelRepository\RepositoryServiceProvider::class, ],
发布配置
$ php artisan vendor:publish
将在您的配置目录中添加repository.php
。
用法
服务提供者将自动根据config/repository.php
中的设置将仓库绑定到其合约。
默认值
默认情况下,仓库存储在App\Repositories\ModelName
中,其中ModelName
是仓库将要处理的模型名称。
默认命名约定是合约使用ModelNameRepository
,类使用EloquentModelName
。
命令
make:repository
此包添加了 artisan 命令 repository:generate
,基于config/repository.php
中的设置创建仓库模式。
为User
模型创建仓库
$ php artisan repository:generate User
将创建
- ProjectRoot
- app
- Repositories
- User
- UserRepository.php
- EloquentUser.php
如果您使用的是Eloquent
以外的驱动,可以使用--driver
选项指定
$ php artisan repository:generate User --driver=storage
将创建
- ProjectRoot
- app
- Repositories
- User
- UserRepository.php
- StorageUser.php
注意:如果您计划使用其他驱动,请将它们添加到config/repository.php
中的drivers
数组中,服务提供者将按数组顺序搜索类。
make:repositoryClass
与repository:generate
相同,但只创建类,不创建合约。
$ php artisan repository:class User --driver=storage
创建app/Repositories/User/StorageUser.php
make:repositoryContract
与repository:generate
相同,但只创建合约,不创建类。
$ php artisan repository:contract User
创建app/Repositories/User/UserRepository.php
注意:此命令不接受--driver
选项。
致谢
- 作者:Sam Taylor
许可
MIT许可(MIT)。有关更多信息,请参阅许可文件。