diorz38/crestapp-code-generator

一个智能代码生成器,用于Laravel框架,能节省您的时间!这款出色的工具将帮助您生成视图、控制器、路由、迁移、语言和/或表单请求等资源!它非常灵活且可自定义,适用于多种使用场景。它附带跨浏览器兼容的模板,以及客户端验证,以现代化您的应用。


README

一个智能代码生成器,用于Laravel框架,能节省您的时间!这款出色的工具将帮助您生成视图、控制器、路由、迁移、语言和/或表单请求等资源!它非常灵活且可自定义,适用于多种使用场景。它附带跨浏览器兼容的模板,以及客户端验证,以现代化您的应用。

有关完整文档和实时演示,请访问 CrestApps.com

注意: 可用的文档适用于版本 <= 2.2。版本 2.3+ 的文档非常相似,但有例外。请查看 变更日志 获取变更列表。

功能

  • 使用Laravel 5.5+时,一键安装
  • 创建非常干净、可重用且易于阅读的代码来构建。
  • 使用单个命令创建完整资源,使用 迁移 或从 现有数据库
  • 使用单个命令创建数据库中所有现有表的全资源。
  • 使用单个命令创建基于API的完整资源,使用 迁移 或从 现有数据库
  • 为您的API创建美观的文档。
  • 使用Laravel 5.5+ 创建 api-resource 和 api-resource-collection。
  • 允许您将字段保存在JSON文件中,当业务需求发生变化时重新创建资源。
  • 利用基于JSON的资源文件来定义您的资源。资源文件允许您轻松地在任何时间重新生成资源,即使业务规则发生变化。
  • 创建具有简单或表单请求验证的标准 CRUD 控制器。
  • 可自定义视图模板,以便您更改应用程序的标准外观和感觉。
  • 创建具有关系的模型。
  • 创建带有或不带有组的命名路由。
  • 创建标准 CRUD 视图。
  • 智能迁移引擎!跟踪所有生成的迁移,只创建所需的迁移。
  • 智能到足以自动处理模型之间的关系。
  • 非常灵活且配置选项丰富。
  • 创建资源文件的简单命令;另外,添加或减少现有的资源文件。
  • 完全支持生成多语言应用。
  • 客户端验证。
  • 文件上传处理。
  • 自动将多个响应存储在数据库中。
  • 创建表单请求以清理控制器并提高代码的重用性。
  • 创建带有或不带有客户端验证的视图布局。
  • 在运行时更改模板以生成不同的视图。
  • 能够生成带有或不带有 Laravel-Collective 的视图。
  • 优雅地处理任何日期、时间或日期时间字段。
  • 自动处理任何布尔字段。
  • 易于使用,并附带大量文档。

安装

  1. 要将此包下载到您的laravel项目中,请使用命令行执行以下命令

    composer require crestapps/laravel-code-generator --dev
    
  2. (使用Laravel >= 5.5时,您可能可以跳过此步骤) 要使用命令行仅将包引导到项目中,请打开项目中的 app/Providers/AppServiceProvider.php 文件。然后,将以下代码添加到 register() 方法中。

    将以下行添加到引导 laravel-code-generator 到框架中。

    if ($this->app->runningInConsole()) {
        $this->app->register('CrestApps\CodeGenerator\CodeGeneratorServiceProvider');
    }
    

默认视图需要布局!代码生成器允许您使用命令行创建布局。当然,您可以使用自己的布局。您只需要在布局中包含 CSS Bootstrap 框架,以便默认模板能够正常工作。此外,您还可以选择使用不同的或没有任何 CSS 框架来自定义模板。

可用命令

方括号 [] 中的命令必须替换为您选择的变量。

  • 主要命令
    • php artisan create:scaffold [模型名称]
    • php artisan create:controller [模型名称]
    • php artisan create:model [模型名称]
    • php artisan create:form-request [模型名称]
    • php artisan create:routes [模型名称]
    • php artisan create:migration [模型名称]
    • php artisan create:language [模型名称]
    • php artisan create:mapped-resources
  • API命令
    • php artisan create:api-scaffold [模型名称]
    • php artisan create:api-controller [模型名称]
    • php artisan create:api-resources [模型名称]
    • php artisan api-doc:create-controller [模型名称]
    • php artisan api-doc:create-view [模型名称]
  • 视图命令
    • php artisan create:layout [应用程序名称]
    • php artisan create:views [模型名称]
    • php artisan create:index-view [模型名称]
    • php artisan create:create-view [模型名称]
    • php artisan create:edit-view [模型名称]
    • php artisan create:show-view [模型名称]
    • php artisan create:form-view [模型名称]
  • 资源文件命令
    • php artisan resource-file:from-database [模型名称]
    • php artisan resource-file:create [模型名称]
    • php artisan resource-file:append [模型名称]
    • php artisan resource-file:reduce [模型名称]
    • php artisan resource-file:delete [模型名称]
  • 迁移命令
    • php artisan migrate-all
    • php artisan migrate:rollback-all
    • php artisan migrate:reset-all
    • php artisan migrate:refresh-all
    • php artisan migrate:status-all

示例

以下示例假设我们正在尝试创建一个包含以下字段的 CRUD。

  • id
  • name
  • description
  • is_active

基本示例 - 带迁移的 CRUD

php artisan resource-file:create AssetCategory --fields=id,name,description,is_active

上述命令将创建资源文件名称

php artisan create:scaffold AssetCategory --with-migration

上述命令将创建一个模型,一个控制器

基本示例 - 带迁移的 CRUD - 简化方式

php artisan create:scaffold AssetCategory --with-migration --fields=id,name,description,is_active

上述命令将首先创建资源文件名称。然后,它将创建一个模型,一个控制器。这是在一条命令中发出 `resource-file:create` 和 `create:scaffold` 的快捷方式

基本 API 示例 - 带迁移的 CRUD

php artisan resource-file:create AssetCategory --fields=id,name,description,is_active

上述命令将创建资源文件名称

php artisan create:scaffold AssetCategory --with-migration

上述命令将创建一个模型,一个控制器

使用英文和阿拉伯文翻译的基本示例 - 带迁移

php artisan resource-file:create AssetCategory --fields=id,name,description,is_active --translation-for=en,ar

上述命令将创建资源文件名称

php artisan create:scaffold AssetCategory --with-migration

上述命令将创建一个模型,一个控制器

带表单请求的基本示例

php artisan resource-file:create AssetCategory --fields=id,name,description,is_active

上述命令将创建资源文件名称

php artisan create:scaffold AssetCategory --with-form-request

上述命令将创建一个模型,一个控制器

带软删除和迁移的基本示例

php artisan resource-file:create AssetCategory --fields=id,name,description,is_active

上述命令将创建资源文件名称

php artisan create:scaffold AssetCategory --with-soft-delete --with-migration

上述命令将创建一个模型,一个控制器

从现有数据库创建资源

php artisan create:scaffold AssetCategory --table-exists

上述命令将创建资源文件名称。它将假设您的数据库中的表名为 "asset_categories"。如果不是这种情况,您可以使用

然后它将创建一个模型,一个控制器

您还可以使用 php artisan resource-file:from-database AssetCategory 单独从现有数据库创建资源文件

从现有数据库创建资源并带有英文和阿拉伯文翻译

php artisan create:scaffold AssetCategory --translation-for=en,ar --table-exists

上述命令将创建资源文件名称

然后它将创建一个模型,一个控制器

您还可以使用 php artisan resource-file:from-database AssetCategory --translation-for=en,ar 单独从现有数据库创建资源文件

从现有数据库创建资源,包含英文和阿拉伯语翻译,分两步进行,以更好地控制字段!

php artisan resource-file:from-database AssetCategory --translation-for=en,ar

php artisan create:scaffold AssetCategory

上述命令将创建资源文件名称

然后它将创建一个模型,一个控制器

许可证

"Laravel代码生成器"是一个开源软件,许可协议为MIT许可证