taylornetwork/laravel-repository

此包最新版本(1.3.0)没有可用的许可信息。

一个用于动态绑定应用中所有现有仓库的服务提供者。

1.3.0 2017-09-09 19:50 UTC

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选项。

致谢

许可

MIT许可(MIT)。有关更多信息,请参阅许可文件