Skip to content

🔧 GetConfigWithGlobal

读取某个 Composer 配置项的当前值,可选择读取全局配置或项目配置。等价于执行 composer config [--global] <setting>

何时使用

需要在程序中拿到单个配置项的值(如 preferred-installbin-dirvendor-dir)并据此做判断或日志输出时使用。global=true 读取的是 COMPOSER_HOME/config.json 中的全局值,global=false 读取当前项目 composer.json 的值。

签名

go
func (c *Composer) GetConfigWithGlobal(setting string, global bool) (string, error)

参数

参数类型说明
settingstring配置项名称,如 preferred-installbin-dir
globalbooltrue 读取全局配置,false 读取项目配置

返回值

返回值类型说明
第一返回值string配置项的值(已去除首尾空白)
第二返回值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.Fatalf("初始化失败: %v", err)
	}

	// 读取项目级配置
	install, err := comp.GetConfigWithGlobal("preferred-install", false)
	if err != nil {
		log.Fatalf("读取配置失败: %v", err)
	}
	fmt.Println("项目 preferred-install:", install)

	// 读取全局配置
	home, err := comp.GetConfigWithGlobal("home", true)
	if err != nil {
		log.Fatalf("读取全局配置失败: %v", err)
	}
	fmt.Println("全局 home:", home)
}

进阶

基于 MIT 许可证发布