1

我正在Command为在Symfony 2. Command具有集合结构,并且必须通过Class两个集合方法 ( configure& execute) 以及任何用户定义的函数来实现。

我想要一些所有函数都可以访问的预定义​​变量,类似于 Java 中实例变量的工作方式。如何在 PHP 中实现它?

4

1 回答 1

2

这使用DependencyInjection组件工作。DI 就是您要找的东西!

使用 symfony2 标准时,如果您扩展ContainerAwareCommand- symfony 将自动注入容器...

use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;

class MyCommand extends ContainerAwareCommand

.. 在 parameters.yml 或 config.yml 中配置容器参数

parameters:
    my_parameter: my_value

然后使用访问您的容器参数

 $this->container->getParameter('my_parameter')

这样,只要您有权访问容器,您就可以从应用程序中的任何“服务”访问这些参数。您甚至可以只注入建议的参数,因为注入整个容器在性能方面代价高昂并且使测试更加困难。

于 2013-06-16T18:17:08.400 回答