PHP Composer,命令行(CLI)添加类路径以自动加载composer.json中的PSR-4 / PSR-0 /文件

时间:2018-09-29 13:39:35

标签: command composer-php command-line-interface autoload

Composer从CLI是否有任何命令可添加到 composer.json 这样的条目?

{
    "autoload": {
        "psr-4": {
            "Monolog\\": "src/",
            "Vendor\\Namespace\\": ""
        }
    }
}

并添加以下内容:

{
    "autoload": {
        "psr-0": {
            "Monolog\\": "src/",
            "Vendor\\Namespace\\": "src/",
            "Vendor_Namespace_": "src/"
        }
    }
}

还有这个

{
    "autoload": {
        "classmap": ["src/", "lib/", "Something.php"]
    }
}

这:

{
    "autoload": {
        "files": ["src/MyLibrary/functions.php"]
    }
}

我看着这里: Composer Command Line Documentation

,但未找到任何专用命令。也许有一个替代方法命令,例如:

composer add-entry <key> <value>

composer set-key <key> <value>

但我不知道, 你知道吗?

1 个答案:

答案 0 :(得分:0)

不幸的是,没有。至少在v1.8.4中,我也希望此功能。

我认为最接近的命令是config

$ composer config bin-dir bin/
$ composer config repositories.github.com '{"type": "vcs", "url": "https://github.com/[YOUR]/[REPO]", "//url": "https://github.com/[YOUR]/[REPO].git"}'

因为这将在composer.json中添加以下内容:

"config": {
    "bin-dir": "bin/"
},
"repositories": {
    "github.com": {
        "type": "vcs",
        "url": "https://github.com/[YOUR]/[REPO]",
        "//url": "https://github.com/[YOUR]/[REPO].git"
    }
}

尽管如此,该命令似乎仅适用于“ config”和“ repositories”键。

然后我发现了关于此主题的问题。似乎社区不会添加此功能。

  

是的,我不认为我们真的想从CLI中提供此功能,因为一堆代码通常只在包创建时完成一次,因此会产生很多限制用途的代码。