apavliukov / app-version-laravel
Laravel 应用版本管理
v3.4.1
2023-03-04 15:52 UTC
Requires
- php: ^7.3 || ^8.0
- illuminate/container: ~6.0 || ~7.0 || ~8.0 || ~9.0 || ~10.0
- illuminate/contracts: ~6.0 || ~7.0 || ~8.0 || ~9.0 || ~10.0
- illuminate/support: ~6.0 || ~7.0 || ~8.0 || ~9.0 || ~10.0
- illuminate/view: ~6.0 || ~7.0 || ~8.0 || ~9.0 || ~10.0
- symfony/console: ^4.4 || ~5.0 || ~6.0
Requires (Dev)
- laravel/laravel: ~6.0 || ~7.0 || ~8.0 || ~9.0 || ~10.0
- mockery/mockery: ^1.4
- phpstan/phpstan: ~0.12.34
- phpunit/phpunit: ^8.5.4 || ^9.3
README
AppVersion for Laravel 应用
Laravel 9 兼容
图片来自
antonioribeiro/version
仓库
Laravel 没有内置的应用版本管理机制,此包可修复此缺陷。
安装
使用以下命令通过 composer 安装此包:
$ composer require apavliukov/app-version-laravel
之后,您应使用以下命令“发布”配置文件(./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 许可证许可。