🔍 HasExtension
检查当前 PHP 环境中是否安装了指定的扩展。
何时使用
运行依赖某个扩展的功能前做前置校验,或在 CI 中断言必需扩展(如 pdo、mbstring)已安装时使用。
签名
go
func (c *Composer) HasExtension(extension string) (bool, error)参数
| 参数 | 类型 | 说明 |
|---|---|---|
extension | string | 要检查的 PHP 扩展名,例如 mbstring 或 pdo |
返回值
bool:扩展已安装返回true,否则返回falseerror:获取扩展列表失败时返回错误
示例
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)
}
hasJSON, err := comp.HasExtension("json")
if err != nil {
log.Fatalf("检查扩展失败: %v", err)
}
if hasJSON {
fmt.Println("json 扩展已安装")
} else {
fmt.Println("json 扩展未安装")
}
}进阶
- 该方法内部调用 GetExtensions 后做精确匹配
- 若需带版本约束判断,使用 IsPlatformAvailable
- 大批量检查时,建议一次调用
GetExtensions自行遍历,避免重复执行命令