我正在使用Composer构建一个小项目,但我现在必须在vendor文件夹的父文件夹中使用一些自定义代码。
类似的文件结构: libraries > companyname > 名称空间> classfile.php
是否可以有效地使用composer自动加载器?看来它确实如此,但我在绕着它缠绕时遇到了麻烦。
使用第二个自动加载器脚本会更容易吗?
答案 0 :(得分:3)
我们通过作曲家在我们自己的代码中加载。
我们的代码安装在我们公司名称下的lib文件夹中。我们的作曲家文件看起来像这样。
{
"config": {
"vendor-dir": "lib"
},
"require": {
"twig/twig": "v1.15.1",
"symfony/symfony": "2.5.4"
},
"autoload": {
"psr-4": {
"CompanyName\\": "lib/companyName/src"
}
}
}
autoload psr4部分是重要的部分。 CompanyName
将解析lib/companyName/src
中的文件。
在lib / companyName / src中,您有一个名为ThingDoer.php
的文件
<?php
namespace CompanyName;
class ThingDoer {
public static function doThings() {}
}
现在,从代码库的任何位置,您都可以调用CompanyName\ThingDoer::doThings();