markwalet/laravel-packagist

为`spatie/packagist-api`包提供的Laravel包装器。

v1.7.0 2024-04-05 16:46 UTC

This package is auto-updated.

Last update: 2024-09-05 17:37:27 UTC


README

MIT Licensed Latest Stable Version Build status Coverage StyleCI Total Downloads

spatie/packagist-api包提供的Laravel包装器。

安装

您可以使用composer安装此包

composer require markwalet/laravel-packagist

Laravel使用包自动发现,因此您不需要注册服务提供者。如果您想手动注册服务提供者,请将以下行添加到您的config/app.php文件中

MarkWalet\Packagist\PackagistServiceProvider::class,

使用方法

您可以通过以下两种主要方式调用Packagist:

使用应用程序容器

/** @var \Spatie\Packagist\PackagistClient $client */
$client = app(\Spatie\Packagist\PackagistClient::class);

$client->getPackage('markwalet', 'laravel-packagist');

使用外观

Packagist::getPackage('markwalet', 'laravel-packagist');

可用方法

列出包名称

// All packages
Packagist::getPackagesNames();

// Filter on type.
Packagist::getPackagesNamesByType('composer-plugin');

// Filter on organization
Packagist::getPackagesNamesByVendor('markwalet');

搜索包

// 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('markwalet/laravel-packagist');
Packagist::getPackageMetadata('markwalet', 'laravel-packagist');

// Using the API. (slower, cached for 12 hours by Packagist.
Packagist::getPackage('markwalet/laravel-packagist');
Packagist::getPackage('markwalet', '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',
],