【问题标题】:symfony2 container anonymous functionssymfony2 容器匿名函数
【发布时间】:2016-02-29 09:52:07
【问题描述】:

symphony2 中是否可以使用匿名函数来注册工厂?

例如:

use Foo\Baz;
use Symfony\Component\DependencyInjection\Definition;

$baz = new Definition(Baz::class);

$baz->setFactory(function(){
    return new Baz();
});

$container->setDefinition(Baz::class, $baz);

【问题讨论】:

  • 我忘了说我目前使用的是 Symfony 2.8
  • 你试过了吗?我在文档中没有找到任何内容,但如果代码通过了类型检查参数,它应该可以工作。

标签: php symfony containers


【解决方案1】:

您所描述的功能已在 since Symfony v2.6.0 可用 - 但是您显然无法通过 XML 或 YAML 设置闭包/匿名函数,因此设置闭包工厂的最佳位置可能是您的 bundle's extension class

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-20
    • 2011-03-25
    • 2015-01-27
    相关资源
    最近更新 更多