artgris / version-checker-bundle
Symfony Bundle,用于获取项目中已安装包的列表,并与您的版本(解析 composer.lock)和 GitHub 版本(GitHub Api v3)进行比较。通过 Symfony Web Debug Toolbar、服务和使用 twig 扩展访问。
Requires
- php: >=5.3.3
- ext-curl: *
- symfony/framework-bundle: ^2.8 || ^3.0
- twig/twig: ~1.11|~2.0
README
Symfony Bundle,用于获取项目中已安装包的列表,并与您的版本(解析 composer.lock)和 GitHub 版本(GitHub Api v3)进行比较。通过 Symfony Web Debug Toolbar(使用缓存)、服务和使用 twig 扩展访问。
Symfony Web Debug Toolbar 中可用的版本
要求
module php_curl
安装
1) 下载
composer require artgris/version-checker-bundle
2) 启用 Bundle
// app/AppKernel.php
$bundles = array(
// ...
new Artgris\VersionCheckerBundle\ArtgrisVersionCheckerBundle()
);
3) 配置 Bundle
添加以下配置
到 app/config/routing_dev.yml
_artgris_version_checker:
resource: "@ArtgrisVersionCheckerBundle/Resources/config/routing.yml"
您不需要对 '/artgris-vcb-ajax' 进行路由限制
到 app/config/config.yml
(可选)
artgris_version_checker: access_token: xxxxx... lifetime: 3600
access_token
:可选但如果您的包超过60个,则必需
- 这是您使用 GitHub API 的令牌,无需速率限制 => 生成您的令牌 (需要 GitHub 用户帐户)
lifetime
:缓存寿命(秒),GitHub 版本已使用 Cache 组件
保存。
####GitHub Api 速率限制
VersionCheckerBundle 使用 GitHub API v3 获取您包的最新版本。
但 GitHub 有速率限制策略
For requests using Basic Authentication or OAuth, you can make up to 5,000 requests per hour.
For unauthenticated requests, the rate limit allows you to make up to 60 requests per hour.
这就是为什么当您有超过60个包时,需要使用令牌的原因。
使用
Symfony Web Debug Toolbar
(上图截图)
服务
$this->get('version_checker_service')->versionChecker($gitHubName = null)
示例
$this->get('version_checker_service')->versionChecker()
返回所有包的数组
[
"doctrine/dbal" => [
"yourVersion" => "v2.5.6"
"url" => "https://github.com/doctrine/dbal.git"
"gitHubVersion" => "v2.5.7"
],[
"doctrine/DoctrineBundle" => [
"yourVersion" => "1.6.6"
"url" => "https://github.com/doctrine/DoctrineBundle.git"
"gitHubVersion" => "1.6.6"
],[
...
]
]
或获取唯一的包版本
$this->get('version_checker_service')->versionChecker('doctrine/dbal')
Twig 扩展
相同的逻辑
version_checker()
version_checker(packageName)
找不到发布
如果您对某个包有“找不到发布”的消息,那是因为它没有任何已发布的完整版本。