【问题标题】:TYPO3 extension autoloader not loading librariesTYPO3 扩展自动加载器不加载库
【发布时间】:2017-02-20 14:49:25
【问题描述】:

我最近开始学习 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类的实际位置是[扩展根目录]/Librariesmautic/api-library/lib/Auth/ApiAuth.php

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

谁能看出我做错了什么?

【问题讨论】:

    标签: composer-php typo3 autoload


    【解决方案1】:

    mautic/api-library 包自带了带有 psr-4 自动加载部分的 composer.json,因此您无需将其添加到您的 composer.json。

    如果您需要一个包,它将安装在供应商文件夹中(无论根 composer.json 的目标是什么),因此您无法知道该包的位置。

    只需删除 psr-4 部分,让 composer autoloader 发挥它的魔力。

    【讨论】:

      猜你喜欢
      • 2021-12-26
      • 1970-01-01
      • 2015-06-01
      • 2017-01-20
      • 2023-03-20
      • 2016-06-23
      • 2017-09-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多