webkurcom/package-generator

Laravel 包生成器

dev-master 2022-07-02 07:38 UTC

This package is not auto-updated.

Last update: 2024-09-22 16:31:12 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 中注册包
  • 从骨架文件夹复制包骨架到创建的文件夹(您可以在配置中提供自定义骨架路径)
  • 运行 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)

您需要手动做的事情

  • In README.md
    • StyleCI 仓库标识符
    • 包描述
    • 用法部分

安全

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

致谢