cherrypulp/laravel-package-generator

2.1.0 2019-10-04 00:34 UTC

This package is auto-updated.

Last update: 2024-09-04 11:17:20 UTC


README

Scrutinizer Code Quality Packagist Packagist Packagist

这是一个简单的包,可以快速为其他由 Alexander Melihov Laravel 包生成器分叉的 Laravel 包生成基本结构。

安装

通过 Composer 安装

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

将服务提供者添加到 config/app.php 文件的 providers 部分(如果你使用 laravel>=5.5 并具有包自动发现功能,则此步骤为可选)

Cherrypulp\LaravelPackageGenerator\ServiceProvider::class,

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

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

可用命令

php artisan package:new vendor package

创建新包。

示例:php artisan package:new Cherrypulp SomeAwesomePackage

此命令将执行以下操作:

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

我建议使用交互式 -i 标志运行此命令

php artisan package:new Cherrypulp SomeAwesomePackage -i

这样,你将需要为每个必需的值进行提示。

php artisan package:remove

删除现有包。

示例:php artisan package:remove Cherrypulp SomeAwesomePackage

此命令将执行以下操作:

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

交互式模式也可行。

php artisan package:clone

克隆现有包。

示例:php artisan package:clone https://github.com/cherrypulp/laravel-env-validator Cherrypulp LaravelEnvValidator --src=src/LaravelEnvValidator

此命令将执行以下操作:

  • workbench/cherrypulp/laravel-env-validator 文件夹中克隆指定的仓库
  • 在 app composer.json 中注册包
  • 运行 composer update cherrypulp/laravel-env-validator
  • 运行 composer dump-autoload

交互式模式也可行。如果你需要,你可以使用 -b 标志指定要克隆的分支。

自定义骨架

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

可用于模板中的变量

  • vendor(例如,Cherrypulp)
  • package(例如,SomeAwesomePackage)
  • vendorFolderName(例如,cherrypulp)
  • packageFolderName(例如,some-awesome-package)
  • packageHumanName(例如,Some awesome package)
  • composerName(例如,cherrypulp/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(例如,cherrypulp@getcherrypulp.io
  • githubPackageUrl(例如,https://github.com/cherrypulp/some-awesome-package

需要手动处理的事项

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

安全

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

鸣谢