wovosoft / crud

WovoCMS 的 Laravel 包生成器

v1.0.2 2020-03-22 11:15 UTC

This package is auto-updated.

Last update: 2024-09-29 05:36:00 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

这是一个简单的包,可以快速生成 Laravel 包的基本结构。

安装

通过 composer 安装

composer require --dev wovosoft/crud  

如果您想自定义默认值,请发布包配置

php artisan vendor:publish --provider="Wovosoft\Crud\ServiceProvider" --tag="config"  

包可用命令

创建新包

php artisan crud:make_package {vendor} {package}
或者,使用交互模式
php artisan crud:make_package -i

示例: php artisan crud:make_package Wovosoft SomeAwesomePackage

此命令将

  • 创建 packages/wovosoft/some-awesome-package 文件夹
  • 在 app composer.json 中注册包
  • 从骨架文件夹复制包骨架到创建的文件夹(您可以在配置中提供自定义骨架路径)
    运行 git init packages/wovosoft/some-awesome-package
  • 运行 composer update wovosoft/some-awesome-package
  • 运行 composer dump-autoload
  • 使用交互模式 -i 标志,您将被提示输入所有需要的值。

删除包

php artisan crud:remove_package {vendor} {package}

示例: php artisan crud:remove_package Wovosoft SomeAwesomePackage

运行 composer remove wovosoft/some-awesome-package

此命令将

  • 删除 packages/wovosoft/some-awesome-package 文件夹
  • 在 app composer.json 中注销包
  • 交互模式也是可能的。
  • 使用交互模式 -i 标志,您将被提示输入所有需要的值。

控制器生成可用命令

创建控制器

php artisan crud:make_controller {vendor} {package} {controller} {model}

使用交互模式 \

php artisan crud:make_controller -i

删除控制器

php artisan crud:remove_controller {vendor} {package} {controller}

php artisan crud:remove_controller -i

php artisan crud:make_controller -i

模型生成可用命令

创建模型

php artisan crud:make_model {vendor} {package} {model}

php artisan crud:make_model -i

php artisan crud:make_controller -i

删除模型

php artisan crud:remove_model {vendor} {package} {model}

php artisan crud:remove_model -i

使用交互模式

php artisan crud:remove_model -i

CRUD 控制台应用程序

有一个可用的控制台应用程序。要使用较少的命令在单个终端中运行所有上述 Artisan 命令,请运行 php artisan crud -iphp artisan crud。然后您将看到所有可用的命令以多选形式呈现。只需选择一个选项,该命令将立即以交互模式执行。然后您可以继续进行其他流程。

自定义骨架

此包将从指定的骨架路径复制所有文件夹和文件到包文件夹。您可以使用骨架中的模板。所有具有 tpl 扩展名的文件将提供一些可在此中使用变量。扩展名 tpl 将被删除。

在模板中可用的变量

  • vendor (例如:Wovosoft)
  • package (例如:SomeAwesomePackage)
  • vendorFolderName (例如:wovosoft)
  • packageFolderName (例如:some-awesome-package)
  • packageHumanName (例如:Some awesome package)
  • composerName (例如:wovosoft/some-awesome-package)
  • composerDesc (例如:A some awesome package)
  • composerKeywords (例如:some,awesome,package)
  • licence (例如:MIT)
  • phpVersion (例如:>=7.0)
  • aliasName (例如:some-awesome-package)
  • configFileName (例如:some-awesome-package)
  • year (例如:2017)
  • name (例如:Narayan Adhikary)
  • email (例如:narayanadhikary24@gmail.com)
  • githubPackageUrl (例如:https://github.com/wovosoft/some-awesome-package)
  • controller (控制器生成的控制器名称)
  • model (模型生成的模型名称)

需要手动执行的事情

  • 服务提供者和别名注册(如果您使用 laravel <5.5)
  • 在 README.md 中
    • StyleCI仓库标识符
    • 包描述
    • 使用说明部分

安全

如果您发现任何安全相关的问题,请发送电子邮件至narayanadhikary24@gmail.com。或者,您可以在本GitHub仓库中创建一个问题。

致谢

特别感谢

  • 特别感谢https://github.com/melihovv/laravel-package-generator。我们对这个包进行了扩展。集成了一个控制台应用程序,以执行所有操作。还添加了一些额外的命令,例如控制器、模型,并增加了为某些包添加和删除功能。