abdelrahmanrafaat / repositories-maker
为 Laravel 模型创建仓库。
Requires
- php: ^5.6|^7.0
- illuminate/console: ~5
- illuminate/filesystem: ~5
- illuminate/support: ~5
This package is not auto-updated.
Last update: 2024-09-14 19:20:00 UTC
README
##Repository Maker##
仓库模式是模型的一个抽象层。
您不需要在控制器中编写大量重复的查询。
您可以为具有可读性名称的仓库实现一个接口(用于以后更改依赖),并使用 IOC 容器将其与其接口绑定。看起来有很多工作要做 .....
Repository Maker 使这个过程变得像键入一个 artisan 命令一样简单。
1. 前往您的 Laravel 项目根目录,并键入
composer require abdelrahmanrafaat
/repositories-maker:dev-master
2. 您需要注册包服务提供者 .. 前往 config/app.php 并将此行添加到 providers 数组末尾。Abdelrahmanrafaat\RepositoriesMaker\Provider\RepositoriesMakerServiceProvider::class
3. 此命令应在您的 artisan 列表中添加一个新命令 .. make:repositories
4. 此命令假设您的模型位于 app 目录中并扩展 Model 类,但当然您可以根据以下说明更改此选项。
php artisan make:repositories
如果您在命令末尾添加 --help,您将获得一些选项。
-
--parent : 指定您的模型父类(仅类基础名称,不是完整名称空间)或如果您的模型不扩展父类或扩展不同的父类,则可以留空。
-
--directory : 从项目根目录开始的包含您的模型的目录(此选项不能以 / 或 **** 开始)。
-
--nestedDirectories : 布尔选项(默认为 false)表示您的模型是否在嵌套目录中。
-
--except : 您不想为其生成仓库的模型的逗号分隔列表。
-
--only : 仅为此逗号分隔的模型列表创建仓库。
注意
- except 和 only 选项不能同时使用,您需要指定其中一个。
- except 和 only 模型名称是(仅类基础名称,不是完整名称空间)
5. 如果您运行此命令,它将在 app\Repositories 中生成仓库和接口,并在 app\Provider 中添加 RepositoriesServiceProvider,并且终端将输出生成的文件名称。
6. 您需要注册 RepositoriesServiceProvider .. 前往 config/app.php 并将此行添加到 providers 数组末尾(确保如果您有不同命名空间的应用程序,则更改 App)。
App\Providers\RepositoriesServiceProvider::class
........
现在您已准备就绪,您可以去任何具有自动解析(控制器、事件、命令等)的类,并类型提示仓库接口,您将获得一个具有其实例的仓库。
祝您编码愉快 ..