所以我基本上想要这样做:
$this->container['Menu_builder'] = $this->container->factory(function ($c) {
return new Menu_builder($parameter_1, $parameter_2);
});
从调用传入$parameter_1和$parameter_2的位置,如下所示:
$menu_builder = $this->container['Menu_builder']('account', 'reset_password');
我知道上面的语法不正确,但我想将这些字符串传递给$this-> container-> factory的调用.
这可能吗?
例如,如果我想从各种控制器函数中实例化Menu_builder,并为每个控制器函数使用不同的参数.
解决方法:
//your parameters needs to be defined here:
$parameter_1 = "XY";
$parameter_2 = 42;
$this->container['Menu_builder'] = $this->container->factory(function ($c)use($parameter_1, $parameter_2) {
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ See here
return new Menu_builder($parameter_1, $parameter_2);
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。