ingress-it-solutions / laravel-packagist
这是一个用于 `spatie/packagist-api` 包的 Laravel 封装。
1.0.0
2023-03-18 11:40 UTC
Requires
- php: 8.*
- ext-json: *
- laravel/framework: 8.*|^9.0|^10.0
- phpoption/phpoption: >=1.8
- spatie/packagist-api: ^2.0
Requires (Dev)
- orchestra/testbench: ~6.22|7.*|8.*
- phpunit/phpunit: ~9.3
README
这是一个用于 spatie/packagist-api 包的 Laravel 封装。
安装
您可以使用 composer 安装此包
composer require ingress-it-solutions/laravel-packagist
Laravel 使用包自动发现,因此您无需注册服务提供者。如果您想手动注册服务提供者,请将以下行添加到您的 config/app.php
文件中
IngressITSolutions\Packagist\PackagistServiceProvider::class,
使用方法
您可以通过以下两种主要方式来调用 Packagist:
使用应用容器
/** @var \Spatie\Packagist\PackagistClient $client */ $client = app(\Spatie\Packagist\PackagistClient::class); $client->getPackage('ingress-it-solutions', 'laravel-packagist');
使用外观
Packagist::getPackage('ingress-it-solutions', 'laravel-packagist');
可用方法
列出包名
// All packages Packagist::getPackagesNames(); // Filter on type. Packagist::getPackagesNamesByType('composer-plugin'); // Filter on organization Packagist::getPackagesNamesByVendor('ingress-it-solutions');
搜索包
// 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('ingress-it-solutions/laravel-packagist'); Packagist::getPackageMetadata('ingress-it-solutions', 'laravel-packagist'); // Using the API. (slower, cached for 12 hours by Packagist. Packagist::getPackage('ingress-it-solutions/laravel-packagist'); Packagist::getPackage('ingress-it-solutions', 'laravel-packagist');
获取统计数据
$packagist->getStatistics();
配置
默认情况下,Packagist 的 API URL 设置为 https://packagist.org.cn
。如果您想覆盖它,您可以在您的 config/services.php
文件中添加以下代码块
'packagist' => [ 'base_url' => 'https://packagist.org.cn', 'repo_url' => 'https://repo.packagist.org', ],