- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 TYPO3 10.2 并尝试将我创建的一些服务类注入(inject)到我的身份验证服务中。
class AuthService extends \TYPO3\CMS\Core\Authentication\AuthenticationService
/**
* Contains the configuration of the current extension
* @var ConfigurationService
*/
protected $configurationService;
/**
* @var RestClientService
*/
protected $restClientService;
/**
* @var ConnectionPool
*/
protected $connectionPool;
/**
*
* @param ConfigurationService $configurationService
* @param RestClientService $restClientService
* @param ConnectionPool $connectionPool
*/
public function __construct(ConfigurationService $configurationService, RestClientService $restClientService, ConnectionPool $connectionPool)
{
$this->configurationService = $configurationService;
$this->restClientService = $restClientService;
$this->connectionPool = $connectionPool;
}
Too few arguments to function Vendor\MyExt\Service\AuthService::__construct(), 0 passed in C:\xampp\htdocs\myproject\typo3\sysext\core\Classes\Utility\GeneralUtility.php on line 3461 and exactly 3 expected
最佳答案
看起来像您的 AuthenticationService
由 GeneralUtility::makeInstance()
内部实例化.对于您在某些时候注册的许多类都是如此,然后 TYPO3 负责创建类(想想用户函数、插件 Controller 、模块 Controller 、身份验证服务、 Hook 等)。GeneralUtility::makeInstance()
需要将类从 DI 容器中取出以使 DI 工作,但这仅适用于创建的类 public
在容器编译期间。
因此,您的问题的解决方案应该是声明类 AuthService
在您的 Configuration/Services.yaml
中公开:
services:
_defaults:
autowire: true
autoconfigure: true
public: false
Vendor\MyExt\:
resource: '../Classes/*'
Vendor\MyExt\Service\AuthService:
public: true
关于php - TYPO3:使用构造函数将服务类注入(inject) AuthServiceClass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59893349/
我正在使用 TYPO3 10.2 并尝试将我创建的一些服务类注入(inject)到我的身份验证服务中。 class AuthService extends \TYPO3\CMS\Core\Authen
我是一名优秀的程序员,十分优秀!