我创建了一个自定义帮助器类并将其声明为服务。 如果我在控制器中使用以下命令获取此帮助,它会起作用:
$this->get('tee.helper.alert');
但我觉得DI更好。然后我宣布我的控制器也是服务:
parameters:
tee.helper.alert.class: TigreEtEuphrateBundle\Service\AlertHelper
tee.controller.default.class: TigreEtEuphrateBundle\Controller\DefaultController
services:
# CONTROLLERS
tee.controller.default:
class: "%tee.controller.default.class%"
arguments: ["@tee.helper.alert"]
# HELPERS
tee.helper.alert:
class: "%tee.helper.alert.class%"
arguments: ["@session"]
但是当我的控制器被调用时,我得到一个FatalError,因为没有给出构造函数中的必需参数。 这基本上是我的控制器类:
class DefaultController extends Controller
{
private $alert_helper;
public function __construct(AlertHelper $alert_helper)
{
$this->alert_helper = $alert_helper;
}
// ...
}
出了什么问题? :/