spatie/packagist-api

从 Packagist 获取包信息

2.1.0 2022-08-01 10:13 UTC

This package is auto-updated.

Last update: 2024-08-29 04:25:26 UTC


README

从 Packagist 获取包信息

Latest Version on Packagist Software License GitHub Workflow Status Total Downloads

此包使您能够使用 Packagist API 搜索和获取包信息变得简单。

支持我们

我们投入了大量资源创建 一流的开放源代码包。您可以通过 购买我们的付费产品之一 来支持我们。

我们非常感谢您从家乡寄来明信片,说明您正在使用我们的哪个包。您可以在 我们的联系页面 找到我们的地址。我们在 我们的虚拟明信片墙上 发布所有收到的明信片。

安装

您可以通过 composer 安装此包

composer require spatie/packagist-api

此包还有一个 Laravel 包装器

使用

您必须将 Guzzle 客户端和 URL 生成器传递给 Spatie\Packagist\PackagistClient 的构造函数。

$client = new \GuzzleHttp\Client();
$generator = new \Spatie\Packagist\PackagistUrlGenerator();

$packagist = new \Spatie\Packagist\PackagistClient($client, $generator);

列出包名

// All packages
$packagist->getPackagesNames();

// List packages by type.
$packagist->getPackagesNamesByType('composer-plugin');

// List packages by organization
$packagist->getPackagesNamesByVendor('spatie');

搜索包

// Search packages by name.
$packagist->searchPackagesByName('packagist');

// Search packages by tag.
$packagist->searchPackagesByTags('psr-3');

// Search packages by type.
$packagist->searchPackagesByType('composer-plugin');

// Combined search.
$packagist->searchPackages('packagist', ['type' => 'library']);

分页

搜索包返回分页结果。您可以通过添加更多参数来更改分页设置。

// Get the third page, 10 items per page.
$packagist->searchPackagesByName('packagist', 3, 10);

获取包数据。

// Using the Composer metadata. (faster, but less data)
$packagist->getPackageMetadata('spatie/packagist-api');
$packagist->getPackageMetadata('spatie', 'packagist-api');

// Using the API. (slower, cached for 12 hours by Packagist.
$packagist->getPackage('spatie/packagist-api');
$packagist->getPackage('spatie', 'packagist-api');

获取统计信息

$packagist->getStatistics();

获取安全漏洞警告

// Get advisories for specific packages
$packages = ['spatie/packagist-api'];
$advisories = $packagist->getAdvisories($packages);

// Get advisories for specific packages that were updated after some timestamp
$packages = ['spatie/packagist-api'];
$advisories = $packagist->getAdvisories($packages, strtotime('2 weeks ago'));

// Get advisories only for specific versions of specific packages
$packages = ['spatie/packagist-api' => '2.0.2'];
$advisories = $packagist->getAdvisoriesAffectingVersions($packages);

变更日志

请参阅 CHANGELOG 了解最近更改的更多信息。

测试

composer test

贡献

请参阅 CONTRIBUTING 了解详细信息。

安全

如果您发现有关安全性的错误,请通过 security@spatie.be 发送邮件,而不是使用问题跟踪器。

鸣谢

关于 Spatie

Spatie 是一家位于比利时安特卫普的网页设计公司。您可以在 我们的网站 上找到我们所有开源项目的概述。

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件