ingress-it-solutions/laravel-packagist

这是一个用于 `spatie/packagist-api` 包的 Laravel 封装。

1.0.0 2023-03-18 11:40 UTC

This package is auto-updated.

Last update: 2024-09-18 15:08:04 UTC


README

Latest Stable Version Total Downloads

这是一个用于 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',
],