0

我在注册工厂时遇到问题,导致奇怪的行为。

当我的依赖被工厂函数解决时,我可以看到(通过测试..),实际上只调用了构造函数,仅此而已。

这是工厂函数 + DI 定义:

AuthStrategySelectorInterface::class => function (ContainerInterface $container): AuthStrategySelector {
    $authStrategySelector = new AuthStrategySelector();
    $authStrategySelector
      ->register($container->get(JwtAuthStrategy::class));
    return $authStrategySelector;
  }

这是我可以看到的行为,但我不明白:似乎register-function 永远不会被调用。我还通过die('test');$authStrategySelector.

我在日志等中看不到任何错误,并且我在大约 2 小时后就解决了这个问题。

我测试了所有其他涉及的组件,例如 AuthStrategy,它甚至是空的,无法进行测试。

4

0 回答 0