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

时间:2015-02-10 22:09:23

标签: php composer-php autoload spl-autoload-register

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

类似的文件结构: libraries > companyname > 名称空间> classfile.php

是否可以有效地使用composer自动加载器?看来它确实如此,但我在绕着它缠绕时遇到了麻烦。

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

1 个答案:

答案 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();

相关问题