Laravel扩展包生成器

标准

Laravel Packager

GitHub:https://github.com/Jeroen-G/laravel-packager

这个软件包提供了一种简单的方式来创建一个新的扩展包,通过生成样板文件让开发者专注于扩展包的开发。

安装

composer安装

$ composer require jeroen-g/laravel-packager --dev

如果不是Laravel 5.5(或更高版本),请在config/app.php添加服务提供商:

JeroenG\Packager\PackagerServiceProvider::class,

如果在Laravel 5.5+上运行该软件包,则软件包自动发现会自动处理添加服务提供商 。请注意,自动发现还意味着此包会在生产环境中加载。如果想 禁用自动发现,则可以在AppServiceProvider 添加以下内容:

if ($this->app->environment('local')) {
    $this->app->register('JeroenG\Packager\PackagerServiceProvider');
}

(可选)发布配置文件。默认配置:查看

$ php artisan vendor:publish --provider="JeroenG\Packager\PackagerServiceProvider"

可用命令

新建

命令:

$ php artisan packager:new MyVendor MyPackage

结果:  该命令会自动处理好所有事情。首先,在根目录创建一个packages目录,然后在packages中创建类似vendor/package(供应商/ 扩展包)格式的一个框架包目录,并自动设置composer.json,最后创建一个服务提供者,并会在config/app.php和根目录的composer.json中注册该包。

选项:

$ php artisan packager:new MyVendor MyPackage --i
$ php artisan packager:new --i

软件包提供了以交互方式来创建扩展包,可以配置  composer.json 中的所有内容 ,例如许可证和包描述。

备注:  新建的扩展包都基于此自定义框架包

Get&Git

命令:

$ php artisan packager:get https://github.com/author/repository
$ php artisan packager:git https://github.com/author/repository

结果:  这将config/app.phpcomposer.json 文件中注册包  。如果使用  packager:git 命令,则克隆整个Git存储库。如果 使用 packager:get ,则下载包,而不使用存储库。这也适用于Bitbucket存储库,但必须
packager:get 命令中添加--host=bitbucket 提供标志  。

选项:

$ php artisan packager:get https://github.com/author/repository --branch=develop
$ php artisan packager:get https://github.com/author/repository MyVendor MyPackage
$ php artisan packager:git https://github.com/author/repository MyVendor MyPackage

可以使用该--branch 选项指定分支  。如果您直接在网址后面指定供应商和名称,则会使用指的的扩展包而不是分支。

测试

命令:

$ php artisan packager:tests

结果:  Packager将遍历所有维护包( packages/目录)并将其测试文件发布到  tests/packages。将以下内容添加到phpunit.xml(在其他测试套件下)以便从包运行测试:

<testsuite name="Packages">
    <directory suffix="Test.php">./tests/packages</directory>
</testsuite>

选项:

$ php artisan packager:tests MyVendor MyPackage

备注:  如果存在tests文件夹,则将文件复制到Laravel应用测试专用文件夹中。这使您可以毫不费力地使用Laravel自带的所有测试功能。

列表

命令:

$ php artisan packager:list

结果:列出/packages  目录中所有扩展包的概述  。

移除

命令:

$ php artisan packager:remove MyVendor MyPackage

结果:  该  MyVendor\MyPackage 扩展包将被删除,包括在  composer.json 和  config/app.php中相关信息。

发布

命令:

$ php artisan packager:publish MyVendor MyPackage https://github.com/myvendor/mypackage

结果:  该  MyVendor\MyPackage 扩展包将使用所提供的网址发布到Github上。

校验

命令:

$ php artisan packager:check MyVendor MyPackage

结果:  该  MyVendor\MyPackage 扩展包将被使用SensioLabs进行 安全漏洞检查。

备注  您首先需要运行

$ composer require sensiolabs/security-checker

cURL SSL证书的问题

事实证明,特别是在Windows上,由于操作系统上缺少SSL证书的文件,因此下载框架包时可能会出现一些问题。这可以通过打开.env文件并将其以下内容来解决:

CURL_VERIFY=false

当然这意味着它不太安全,但是你不应该在生产环境中的任何地方运行这个包。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

44 − 43 =