mpandar / laravel-packager
Laravel包创建的命令行工具。
Requires
Requires (Dev)
Suggests
- sensiolabs/security-checker: Required to use the security check command
README
此包为您提供了一个简单的工具来设置新包,并让您专注于包的开发而不是模板。
安装
通过Composer
$ composer require mpandar/laravel-packager
如果您没有运行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"
可用命令
New
命令
$ php artisan packager:new myvendor my-package
结果:该命令将为您处理几乎所有事情。它将创建一个包目录,在其中创建供应商和包目录,拉取骨架包,设置composer.json,创建服务提供者,在config/app.php和app的composer.json中注册包。
选项
$ php artisan packager:new myvendor my-package --i $ php artisan packager:new --i
包将以交互方式创建,允许您在包的composer.json
中配置一切,例如许可证和包描述。
备注:新包将基于此自定义骨架。
获取 & Git
命令
$ php artisan packager:get https://github.com/author/repository $ php artisan packager:git https://github.com/author/repository
结果:此命令将在config/app.php和app的composer.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 my-package $ php artisan packager:git https://github.com/author/repository myvendor my-package
可以使用--branch
选项指定分支。如果您在url后直接指定供应商和名称,则将使用这些而不是url的部分。
测试
命令
$ 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 my-package
备注:如果存在测试文件夹,文件将被复制到Laravel App测试文件夹的专用文件夹中。这允许您轻松使用Laravel的所有测试功能。
列表
命令
$ php artisan packager:list
结果:显示/packages
目录中所有包的概述。
移除
命令
$ php artisan packager:remove myvendor my-package
结果:删除包MyVendor\MyPackage
,包括其在composer.json
和config/app.php
中的引用。
发布
命令
$ php artisan packager:publish myvendor my-package https://github.com/myvendor/mypackage
结果:将包MyVendor\MyPackage
发布到GitHub,使用提供的url。
检查
命令
$ php artisan packager:check myvendor my-package
结果:将包MyVendor\MyPackage
使用SensioLabs安全检查器检查是否存在安全漏洞。
备注:首先需要运行
$ composer require sensiolabs/security-checker
cURL SSL证书问题
结果显示,尤其是在Windows上,由于操作系统缺少有关SSL证书的文件,可能会出现骨骼下载问题。这可以通过打开您的.env文件并在其中添加以下内容来解决:
CURL_VERIFY=false
当然,这意味着安全性会降低,但再次强调,您不应该在生产环境中运行此包。
变更日志
请参阅changelog.md了解最近的变化。
贡献
请参阅contributing.md了解详细信息以及待办事项列表。
致谢
许可证
欧盟公共许可证。请参阅license.md获取更多信息。