使用 Composer 的自动加载器和个人代码

Using Composer's autoloader with personal code

我正在使用 Composer 构建一个小项目,但我现在必须在 vendor 文件夹的父文件夹中使用一些自定义代码。

相似的文件结构:libraries > companyname > namespace > classfile.php

是否可以有效地使用composer autoloader?似乎是这样,但我无法理解它。

使用第二个自动加载器脚本会更容易吗?

我们正在通过 composer 加载我们自己的代码。

我们的代码安装在我们公司名下的lib文件夹中。我们的作曲家文件看起来像这样。

{
    "config": {
        "vendor-dir": "lib"
    },
    "require": {
        "twig/twig": "v1.15.1",
        "symfony/symfony": "2.5.4"
    },
    "autoload": {
        "psr-4": {
            "CompanyName\": "lib/companyName/src"
        }
    }
}

自动加载 psr4 部分是重要部分。 CompanyName 将解析位于 lib/companyName/src.

中的文件

在 lib/companyName/src 中,您有一个名为 ThingDoer.php

的文件
<?php

namespace CompanyName;

class ThingDoer {
    public static function doThings() {}
}

现在,您可以从代码库的任何位置调用 CompanyName\ThingDoer::doThings();