melihovv/laravel-package-generator

一个 Laravel 包生成器

7.0.1 2020-11-01 18:59 UTC

README

GitHub Workflow Status styleci

Packagist Packagist Packagist

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

安装

通过 composer 安装

composer require --dev melihovv/laravel-package-generator

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

php artisan vendor:publish --provider="Melihovv\LaravelPackageGenerator\ServiceProvider" --tag="config"

可用命令

php artisan package:new -i {vendor} {package}

创建新包。

示例: php artisan package:new Melihovv SomeAwesomePackage

此命令将

  • 创建 packages/melihovv/some-awesome-package 文件夹
  • 在 app composer.json 中注册包
  • 从 skeleton 文件夹复制包骨架到创建的文件夹(您可以在配置中提供自定义骨架路径)
  • 运行 git init packages/melihovv/some-awesome-package
  • 运行 composer update melihovv/some-awesome-package
  • 运行 composer dump-autoload

使用交互式 -i 标志,您将需要输入每个必需的值。

php artisan package:remove {vendor} {package}

删除现有包。

示例: php artisan package:remove Melihovv SomeAwesomePackage

此命令将

  • 运行 composer remove melihovv/some-awesome-package
  • 删除 packages/melihovv/some-awesome-package 文件夹
  • 在 app composer.json 中注销包
  • 运行 composer dump-autoload

交互模式也是可能的。

自定义骨架

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

可用于模板的变量

  • vendor(例如,Melihovv)
  • package(例如,SomeAwesomePackage)
  • vendorFolderName(例如,melihovv)
  • packageFolderName(例如,some-awesome-package)
  • packageHumanName(例如,Some awesome package)
  • composerName(例如,melihovv/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(例如,Alexander Melihov)
  • email(例如,amelihovv@ya.ru
  • githubPackageUrl(例如,https://github.com/melihov/some-awesome-package

您需要手动完成的事情

  • 在 README.md 中
    • StyleCI 仓库标识符
    • 包描述
    • 使用部分

安全

如果您发现任何安全相关的问题,请通过电子邮件 amelihovv@ya.ru 联系,而不是使用问题跟踪器。

致谢