Skip to content

🖥️ CheckPlatform

检查当前系统是否满足 composer.json 中定义的平台需求(PHP 版本、扩展等),返回结构化的平台信息列表。

何时使用

需要在代码里判断部署环境是否满足项目的 PHP 版本或扩展要求,例如 CI 流水线预检、容器启动自检时使用。

签名

go
func (c *Composer) CheckPlatform() ([]PlatformInfo, error)

参数

参数类型说明
该方法不接收参数,直接读取当前项目的 composer.json

返回值

  • []PlatformInfo:平台需求信息切片,每个元素包含 NameVersionAvailableRequired 字段
  • error:执行 composer check-platform --format=json 或解析失败时返回错误
go
type PlatformInfo struct {
    Name      string `json:"name"`
    Version   string `json:"version"`
    Available bool   `json:"available"`
    Required  string `json:"required,omitempty"`
}

示例

go
package main

import (
    "fmt"
    "log"

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

func main() {
    comp, err := composer.New(composer.DefaultOptions())
    if err != nil {
        log.Fatal(err)
    }

    platforms, err := comp.CheckPlatform()
    if err != nil {
        log.Fatalf("检查平台需求失败: %v", err)
    }

    for _, p := range platforms {
        status := "不满足"
        if p.Available {
            status = "满足"
        }
        fmt.Printf("%s %s: %s\n", p.Name, p.Version, status)
    }
}

进阶

基于 MIT 许可证发布