📦 IsProject
检查当前工作目录是否是一个 Composer 项目(即是否存在 composer.json 文件),不执行任何 Composer 命令。
何时使用
在执行安装、依赖分析等操作前,先判断当前目录是否真的是一个 PHP/Composer 项目,避免在非项目目录上误操作。它直接读取文件系统,速度极快。
签名
go
func (c *Composer) IsProject() bool参数
该方法无参数。
返回值
| 返回值 | 类型 | 说明 |
|---|---|---|
| 唯一返回值 | bool | 当前工作目录下存在 composer.json 时返回 true,否则 false |
示例
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)
}
if comp.IsProject() {
fmt.Println("当前目录是一个 Composer 项目 ✅")
} else {
fmt.Println("当前目录不是 Composer 项目 ❌")
}
}进阶
- 想检查指定目录是否为 Composer 项目,使用 IsProjectIn。
- 想确认项目是否已执行过
composer install,配合 HasComposerLock 与 HasVendorDir 一起判断。 - 读取完整
composer.json内容请用 ReadComposerJson。