Skip to content

🧩 GetExtensions

获取当前 PHP 环境中已安装的所有扩展名列表。

何时使用

需要扫描可用扩展集合,或在安装依赖前确认必需扩展是否齐全时使用。

签名

go
func (c *Composer) GetExtensions() ([]string, error)

参数

参数类型说明
该方法不接收参数

返回值

  • []string:已安装的 PHP 扩展名列表(已过滤 Loaded extensions: 标题行和空行)
  • error:执行命令失败时返回错误

示例

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)
    }

    extensions, err := comp.GetExtensions()
    if err != nil {
        log.Fatalf("获取 PHP 扩展失败: %v", err)
    }

    fmt.Println("已安装的 PHP 扩展:")
    for _, ext := range extensions {
        fmt.Println("- " + ext)
    }
}

进阶

  • 该方法执行 composer run --show-extensions 并按行解析输出
  • 若只需判断单个扩展是否存在,使用更轻量的 HasExtension
  • 若要检查扩展是否满足 composer.json 的平台约束,使用 CheckPlatform

基于 MIT 许可证发布