TYPO3扩展自动加载器无法加载库

时间:2017-02-20 14:49:25

标签: composer-php typo3 autoload

我最近开始使用TYPO3和作曲家作为学生。我对这一切都不熟悉,我无法让我的作曲家从Mautic自动加载我想要的api库。我的代码一直告诉我它找不到类。

在我的扩展根目录中,我有composer.json,它看起来像这个

{
    "name": "woeler\/wlr_typo_mautic",
    "config": {
        "vendor-dir": "Libraries"
    },
    "description": "Typo3 to Mautic connection",
    "type": "typo3-cms-extension",
    "require": {
        "mautic\/api-library": "^2.6"
    },
    "autoload": {
        "psr-4": {
            "Woeler\\WlrTypoMautic\\": "Classes",
            "Mautic\\Auth\\": "Libraries\/mautic\/api-library\/lib\/Auth\/"
        }
    },
    "license": "MIT",
    "authors": [
        {
            "name": "MyName",
            "email": "myemail@domain.tld"
        }
    ]
}

我可能犯了一个基本错误,但我能找到的教程并没有真正帮助我。我在Classes / Controller文件夹中有一个类,我希望它使用一个属于Mautic \ Auth \命名空间的类,但它只是告诉我它无法找到。

mautic类的实际位置是[extension root] /Librariesmautic/api-library/lib/Auth/ApiAuth.php

我在ext_tables.php文件中需要我的Libraries / autoload.php。

谁能看到我做错了什么?

1 个答案:

答案 0 :(得分:0)

包mautic / api-library带有自己的composer.json和psr-4自动加载部分,所以你不需要将它添加到你的composer.json。

如果你需要一个软件包,它将安装在vendor文件夹中(无论rooter composer.json的目标是什么),这样你就无法知道软件包的位置。

只需删除psr-4部分,让作曲家自动加载器发挥其魔力。