khalyomede/dependency-scanner

返回可更新包的列表。

v0.1.0 2020-05-05 22:03 UTC

This package is auto-updated.

Last update: 2024-09-29 04:49:53 UTC


README

返回可更新包的列表。

Packagist License Packagist Version Packagist PHP Version Support Build Status Maintainability

摘要

关于

我搜索了一个可以使用命令行提供与某些包相同功能的包。

我的目标是显示一个网页,以帮助(高级)用户确定包是否更新,如果需要的话,管理员可以帮助更新包。

功能

  • 扫描你的composer.lock文件中安装的包,并返回它的最新版本。
  • 尊重你的composer.json要求版本

要求

  • PHP >= 7.0.0
  • composer.lock与你的composer.json一同发布并准备好读取
  • 互联网连接(因为此库请求Packagist API)

安装

在你的控制台安装此包。

composer require khalyomede/dependency-scanner

示例

1. 开始使用

在这个例子中,我们将使用默认配置来查找文件composer.jsoncomposer.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

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;