khalyomede / dependency-scanner
返回可更新包的列表。
v0.1.0
2020-05-05 22:03 UTC
Requires
- php: >=7.0.0
- composer/semver: 2.*
- guzzlehttp/guzzle: 6.*
Requires (Dev)
- phpunit/phpunit: 9.*
This package is auto-updated.
Last update: 2024-09-29 04:49:53 UTC
README
返回可更新包的列表。
摘要
关于
我搜索了一个可以使用命令行提供与某些包相同功能的包。
我的目标是显示一个网页,以帮助(高级)用户确定包是否更新,如果需要的话,管理员可以帮助更新包。
功能
- 扫描你的
composer.lock
文件中安装的包,并返回它的最新版本。 - 尊重你的
composer.json
要求版本
要求
- PHP >= 7.0.0
composer.lock
与你的composer.json
一同发布并准备好读取- 互联网连接(因为此库请求Packagist API)
安装
在你的控制台安装此包。
composer require khalyomede/dependency-scanner
示例
1. 开始使用
在这个例子中,我们将使用默认配置来查找文件composer.json
和composer.lock
,并列出过时的包的关键对。
<?php require __DIR__ . '/../vendor/autoload.php'; use Khalyomede\DependencyScanner; $scanner = new DependencyScanner; $dependencies = $scanner->getOutdatedDependencies();
2. 指定自定义文件路径
在这个例子中,我们将使用自定义路径(如果你的脚本运行在某个位置,而默认文件路径不再有效)。
<?php use Khalyomede\DependencyScanner; require __DIR__ . "/../vendor/autoload.php"; $scanner = new DependencyScanner; $scanner->setComposerFilePath(__DIR__ . "/../composer.json"); $scanner->setLockFilePath(__DIR__ . "/../composer.lock"); $dependencies = $scanner->getOutdatedDependencies();
API
- 类
DependencyScanner
getComposerFilePath
获取composer.json
文件的路径。
public function getComposerFilePath(): string;
getLockFilePath
获取composer.lock
文件的路径。
public function getLockFilePath(): string;
getOutdatedDependencies
获取一个数组,包含你的过时依赖项的键值对(与最新版本关联的名称)。
public function getOutdatedDependencies(): array
抛出
Khalyomede\Exception\HttpException
:如果我们无法连接到Packagist API。Khalyomede\Exception\JsonDecodeException
:在解析composer或lock文件内容或解码Packagist API的JSON响应时出错。Khalyomede\Exception\FileNotFoundException
:如果磁盘上找不到composer或lock文件。Khalyomede\Exception/FileNotReadableException
:如果composer或lock文件不可读。Khalyomede\Exception/FileReadFailedException
:在读取composer或lock文件(使用file_get_contents()
)时出错。
setComposerFilePath
设置composer.json
文件的路径。
public function setComposerFilePath(string $path): self;
setLockFilePath
设置composer.lock
文件的路径。
public function setlockFilePath(string $path): self;