abdelrahmanrafaat/repositories-maker

为 Laravel 模型创建仓库。

dev-master 2016-05-09 15:40 UTC

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

........

现在您已准备就绪,您可以去任何具有自动解析(控制器、事件、命令等)的类,并类型提示仓库接口,您将获得一个具有其实例的仓库。

祝您编码愉快 ..