ixudra/generators

为Laravel框架定制的PHP资源生成库 - 由Ixudra开发

6.6.2 2023-12-04 21:27 UTC

README

Latest Version on Packagist license Total Downloads

为Laravel框架定制的PHP资源生成库 - 由Ixudra开发。

此包可以由任何人在任何时候使用,但请注意,它是针对我个人的定制工作流程进行优化的。它可能不完全适合您的项目,可能需要进行修改。

安装

通过Composer引入此包

    {
        "require": {
            "ixudra/generators": "6.*"
        }
    }

将服务提供者添加到app.php文件中

    'providers'         => array(

        //...
        \Ixudra\Generators\GeneratorsServiceProvider::class,

    )

使用

该包提供了两个 artisan 命令,您可以使用这些命令生成各种资源文件。第一个命令允许您基于指定的模板生成单个文件

    php artisan generate:file fileType resourceSingular resourcePlural

该命令接受 3 个参数

  • fileType: 需要生成的文件的标识符 - 必需
  • resourceSingular: 您的资源单数名称 - 必需
  • resourcePlural: 您的资源复数名称 - 可选

文件类型参数需要与包配置文件中可用的键匹配。一些默认可用的示例包括 ModelControllerControllerTest、...

如果没有提供资源复数参数,包将使用单数名称值,并默认添加一个 s

如果您的资源名称由多个组件组成,您应该使用下划线来连接各个组件(例如,product type 将成为 product_type)。这样,生成器将能够为您的资源生成正确的常量名称和表名。

除了生成单个文件外,您还可以生成包配置文件中列出的所有文件

    php artisan generate:resource resourceSingular resourcePlural

命令参数与 generate:file 命令的参数相同。

配置选项

发布配置文件

该包有多个配置选项。为了修改这些选项,您将需要使用 artisan 发布配置文件

    // Publish all resources from all packages
    php artisan vendor:publish
    
    // Publish the package config file
    php artisan vendor:publish --provider="Ixudra\\Generators\\GeneratorsServiceProvider" --tag="config"
    
    // Publish the package templates
    php artisan vendor:publish --provider="Ixudra\\Generators\\GeneratorsServiceProvider" --tag="templates"

配置文件将发布到 app/config/generators.php,在那里您可以进行所有必要的修改,使其与您的应用程序一起工作。

自定义模板

从版本 1.0.0 开始,该包还支持自定义模板。这些模板可以包含 8 个不同的变量,您可以使用这些变量来定制您的开发流程

除了命名空间之外的所有变量都是自动确定的,这些变量是在调用命令时传递给参数的。命名空间可以在发布后设置在包的 config.php 文件中。

使用前面提到的 vendor:publish 命令还将默认包模板发布到 Laravel 应用程序目录中的 /resources/templates 目录。但是,您可以将它们存储在系统上的任何位置。要启用自定义模板,只需更改包配置文件中文件的路径即可。

管理选项

该包还允许您为管理后端生成特定于文件或资源的文件。这可以通过在 generate:resourcegenerate:file 命令中添加 --admin 选项来实现。有 4 个不同的参数可以用来修改管理后端的模板

如果没有提供 --admin 标志,则忽略管理变量,并用空字符串替换。

测试选项

此外,您还可以将--test选项添加到generate:file命令中。当使用此选项时,该软件包还会生成与资源相对应的测试类。

这就是全部内容!祝您玩得开心!

支持

通过Patreon支持我,帮助我进一步开发和维护此包!

许可证

此软件包是开源软件,采用MIT许可证

联系

有关包的问题、错误、建议或功能请求,请使用Github问题系统,或提交一个拉取请求。提交问题时,请始终提供详细的问题说明,任何收到的回应或反馈,可能相关的日志信息以及展示问题的源代码示例。如果不提供这些信息,我可能无法帮助您解决问题。请在提交问题或拉取请求之前查看贡献指南

对于任何其他问题,请随时使用以下凭证

Jan Oris(开发者)