sourcerer-mike/phpsemver
Composer 安装命令:
composer require sourcerer-mike/phpsemver
包简介
Compare two version and check for semantic versioning.
README 文档
README
Check your changes against semantic versions
Install it via composer
composer require sourcerer-mike/phpsemver
and test your code by comparing two versions
phpsemver compare 3.2.0 HEAD
or the last commit with your current work:
phpsemver compare HEAD .
+-------+-------------------------------------------------------------------+
| Level | Message |
+-------+-------------------------------------------------------------------+
| major | phpsemver_get_composer_config() removed. |
| major | PHPSemVer\Specification removed. |
| minor | PHPSemVer\Config added. |
| minor | PHPSemVer\Wrapper\AbstractWrapper::mergeTrees() added. |
| patch | PHPSemVer\Wrapper\Directory::getAllFileNames() body changed. |
| patch | PHPSemVer\Wrapper\Git::getAllFileNames() body changed. |
+-------+-------------------------------------------------------------------+
Total time: 0.94
You're welcome!
Features
Commands
Try the several possibilities:
- Use
compareto check for changes. - Use
vcs:messageto enhance your commit messages.
Wrapper
Choose between those wrapper(phpsemver compare --type ...):
- GIT
- Filesystem / Directories
If one argument is a directory, then the system will work on the file system.
Assertions
Make assertions on:
- Functions
- IsAdded: Check if a function is new.
- IsRemoved: Check if a function is removed.
- BodyChanged: Check if someone changed the behaviour of a function.
- Classes
- IsAdded: Check if a classes is new.
- IsRemoved: Check if a classes is removed.
- Methods
- IsAdded: Check if a method is new.
- IsRemoved: Check if a method is removed.
- BodyChanged: Check if someone changed the behaviour of a method.
- ReturnTypeChanged: Watch for changed return types.
- ReturnTypeRemoved: Watch for incompatible changes on methods.
- Interfaces
- IsAdded: Check if an interface is new.
- IsRemoved: Check if an interface is removed.
Combine them as you like in your own configuration file.
Configuration
Configure which assertions are used in a XML-File. The delivered XSD file makes it easy to write your own configuration (in a proper IDE).
<?xml version="1.0"?>
<phpsemver
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/sourcerer-mike/phpsemver/3.2.0/etc/phpsemver.xsd"
title="My own rules">
<RuleSet name="major">
<Trigger>
<Functions>
<IsRemoved />
</Functions>
</Trigger>
</RuleSet>
<RuleSet name="minor">
<Trigger>
<Classes>
<IsAdded />
</Classes>
</Trigger>
</RuleSet>
<RuleSet name="patch">
</RuleSet>
<Filter>
<Whitelist>
<Pattern>@lib/.*@</Pattern>
</Whitelist>
<Blacklist>
<Pattern>@lib/Test/.*@</Pattern>
</Blacklist>
</Filter>
</phpsemver>
Write your own and use it with the --ruleset option.
See the wiki entry for more information: https://github.com/sourcerer-mike/phpsemver/wiki/Configuration
Prepared rule sets
Those projects do semantic versions in different ways.
So a special config is written for them which can be used via the --ruleSet option:
- Drupal-Core
- SemVer2
- WordPress
Just write phpsemver --ruleSet Drupal-Core and see the latest changes in Drupal.
There are other companies that follow some semantics in their rules like
Symfony.
Don't drag behind - catch up with PHPSemVer.
sourcerer-mike/phpsemver 适用场景与选型建议
sourcerer-mike/phpsemver 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 74 次下载、GitHub Stars 达 27, 最近一次更新时间为 2015 年 03 月 19 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「code analysis」 「Code tool」 「Semantic version」 「Static code analysis」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 sourcerer-mike/phpsemver 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 sourcerer-mike/phpsemver 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 sourcerer-mike/phpsemver 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Memio's PrettyPrinter, used to generate PHP code from given Model
Backend Google Sign On for Magento 2
TwigStan is a static analyzer for Twig templates powered by PHPStan
An app setting manager tool for laravel nova
Sentiment analysis library for PHP.
Database Standardization and Analysis Tool for Laravel
统计信息
- 总下载量: 74
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 27
- 点击次数: 30
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-03-19