avto-dev / app-version-laravel
Laravel应用程序版本控制
v3.7.0
2024-04-26 10:08 UTC
Requires
- php: ^8.1
- illuminate/container: ^10.0 || ^11.0
- illuminate/contracts: ^10.0 || ^11.0
- illuminate/support: ^10.0 || ^11.0
- illuminate/view: ^10.0 || ^11.0
- symfony/console: ^6.0 || ^7.0
Requires (Dev)
- laravel/laravel: ^10.0 || ^11.0
- mockery/mockery: ^1.6.5
- nesbot/carbon: ^2.62 || ^3.1
- phpstan/phpstan: ^1.10.66
- phpunit/phpunit: ^10.5
README
为Laravel应用程序提供AppVersion
图片来自
antonioribeiro/version
存储库
Laravel没有包含与应用程序版本一起工作的机制,此软件包可以修复这个缺陷。
安装
使用以下命令通过composer安装此软件包:
$ composer require avto-dev/app-version-laravel "^3.0"
需要安装
composer
(如何安装composer)。
您需要修复软件包的主版本。
之后,您应该使用以下命令“发布”配置文件(./config/version.php
):
$ php artisan vendor:publish --provider="AvtoDev\\AppVersion\\ServiceProvider"
使用方法
此软件包提供应用程序版本管理器(AppVersionManager
)和
- 版本值存储库(版本数据的抽象层)
- 存储库驱动程序(也称为“工厂”——它们创建配置的存储库实例)
您可以编写自己的实现,并使用它们(只需正确的配置即可)。
内置的“存储”类型
- 包含版本定义的普通文件;
- 应用程序配置文件(默认为
version.config
); CHANGELOG.md
文件(提取最后一个定义的版本值)。
如果想要通过DI访问版本管理器,请请求AvtoDev\AppVersion\AppVersionManagerInterface
<?php namespace App\Console\Commands; use AvtoDev\AppVersion\AppVersionManagerInterface; class SomeCommand extends \Illuminate\Console\Command { /** * The console command name. * * @var string */ protected $name = 'some:command'; /** * Execute the console command. * * @param AppVersionManagerInterface $manager * * @return void */ public function handle(AppVersionManagerInterface $manager): void { $manager->version(); // e.g.: 1.0.0-alpha2 } }
Artisan命令
Blade
Blade编译器允许以下指令
Application version: @app_version Build version: @app_build Application version hash: @app_version_hash
测试
对于软件包测试,我们使用phpunit
框架和docker-ce
+ docker-compose
作为开发环境。因此,在克隆存储库后,只需在终端中写入以下内容:
$ make build $ make latest # or 'make lowest' $ make test
变更日志
变更日志可以在此处找到。
支持
如果您发现任何软件包错误,请在此存储库中创建一个问题。
许可证
这是一个开源软件,根据MIT许可证许可。