spatie / packagist-api
从 Packagist 获取包信息
2.1.0
2022-08-01 10:13 UTC
Requires
- php: ^7.3|^8.0
- ext-json: *
- composer/semver: ^1.0|^2.0|^3.0
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
README
从 Packagist 获取包信息
此包使您能够使用 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)。有关更多信息,请参阅 许可文件。