我已经用扩展构建器创建了一个TYPO3 7.6扩展。现在,我想添加和自动加载作曲家安装的软件包。我读到ext_autoload.php一般从TYPO3版本7开始就不会加载。为此,您应该在扩展的根路径中使用ext_emconf.php 或 composer.json。
因此,我已经设置了下面的composer.json,并将其安装在composer.phar中。
{
"require": {
"hybridauth/hybridauth": "v3.0.0-rc.1"
},
"config": {
"vendor-dir": "Vendor"
},
"autoload": {
"psr-4": {
"Vendor\\Package\\": "Classes"
},
"classmap": [
"Vendor/hybridauth/hybridauth/src"
]
}
}现在有了预期的Vendor/hybridauth/hybridauth/src,但是TYPO3的自动加载程序没有找到例如Vendor/hybridauth/hybridauth/src/Hybridauth.php定义的类Hybridauth。我查过了:
\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump(get_declared_classes());我错过了什么?我需要添加/更改/重新思考什么?
发布于 2018-01-30 09:21:02
都是我的错。TYPO3已经自动发布了psr-4环境。但我不得不添加杂交的自动机,就像:
<?php
namespace Vendor\Package\Service;
require_once dirname(dirname(dirname(__FILE__))) . '/Vendor/autoload.php';
class SomeService extends \TYPO3\CMS\Sv\AbstractAuthenticationService{
// ...
}发布于 2018-01-25 16:41:07
您的json文件内容如下所示。
{
"require": {
"hybridauth/hybridauth": "v3.0.0-rc.1"
},
"config": {
"vendor-dir": "Vendor"
},
"autoload": {
"psr-4": {
"vendor\\extensionName\\": "Classes"
},
"classmap": [
"Vendor/hybridauth/hybridauth/src/"
],
"files": [
"Vendor/hybridauth/hybridauth/src/Hybridauth.php"
]
}
}https://stackoverflow.com/questions/48445838
复制相似问题