Skip to content

📈 GetStatistics

获取 Packagist 仓库的整体统计信息:总下载量、包总数、版本总数。

何时使用

📊 在仪表盘展示 Packagist 生态规模;🧭 评估自建镜像相对官方仓库的覆盖度;📅 定期记录总量变化趋势。

签名

go
func (c *ComposerClient) GetStatistics() (*domain.StatisticsResponse, error)

参数

本方法无参数。

返回值

类型说明
结果*domain.StatisticsResponseTotalsDownloads(int64)、PackagesVersions
错误errorHTTP 失败、非 200、JSON 解析失败时返回

对应端点:GET https://packagist.org/statistics.json

示例

go
package main

import (
	"fmt"
	"log"
	"time"

	"github.com/scagogogo/composer-skills/pkg/client"
)

func main() {
	c := client.NewComposerClient(30 * time.Second)

	stats, err := c.GetStatistics()
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("总下载量: %d\n", stats.Totals.Downloads)
	fmt.Printf("包总数: %d\n", stats.Totals.Packages)
	fmt.Printf("版本总数: %d\n", stats.Totals.Versions)
}

进阶

基于 MIT 许可证发布