通过作曲家自己的项目



我已经通过作曲家加载了一些库,我想知道是否有可能在/供应商地图中添加我自己的库,然后让作曲家自动加载器加载它?结构类似于/vendor/mylibrary/,然后是命名空间mylibrary。

这可能吗?此外,是否有可能添加一个不同的地图到作曲家自动加载器?比如/app/src/然后让它加载那个文件夹里的所有类?还是我需要自己做一个加载器?

谢谢

阅读编写器文档:

你甚至可以通过在composer.json中添加一个autolload字段来添加你自己的代码到自动加载器中。

{
    "autoload": {
        "psr-0": {"Acme": "src/"}
    }

}

Composer将为Acme命名空间注册一个PSR-0自动加载器。定义从名称空间到目录的映射。src目录将位于项目根目录中,与vendor目录处于同一级别。一个示例文件名是src/Acme/Foo.php,其中包含一个AcmeFoo类。

添加自动加载字段后,您必须重新运行install to重新生成vendor/autolload .php文件

所以基本上,你只需要遵循PSR-0,告诉composer在哪里找到你的库,将这一行添加到composer。json

是。你可以做到的。配置编写器。Json文件如下:

{
    "autoload": {
        "classmap": [ "classes" ]
}

这里classes是存放所有应用程序相关类的目录名。供应商相关的类也应该被自动检测。只需添加以下行即可同时实现两者:

require 'vendor/autoload.php';

您可以使用命名空间来引用您的类,如下所示:

use classesModelArticle; 

是的,当然可以添加自己的库,您应该强烈鼓励这样做。如果您的库是公开可用的,您可以简单地在packagist.org上注册它。如果没有,这有点复杂,但并非不可能。

如果您的项目不遵循PSR-0标准,composer将为您创建一个类映射。不支持自定义自动加载器。

我建议您阅读有关所有这些的(非常优秀的)文档,如果您遇到问题,请再回来。

http://getcomposer.org/doc/

相关内容

  • 没有找到相关文章

最新更新