我正在Command
为在Symfony 2
. Command具有集合结构,并且必须通过Class
两个集合方法 ( configure
& execute
) 以及任何用户定义的函数来实现。
我想要一些所有函数都可以访问的预定义变量,类似于 Java 中实例变量的工作方式。如何在 PHP 中实现它?
我正在Command
为在Symfony 2
. Command具有集合结构,并且必须通过Class
两个集合方法 ( configure
& execute
) 以及任何用户定义的函数来实现。
我想要一些所有函数都可以访问的预定义变量,类似于 Java 中实例变量的工作方式。如何在 PHP 中实现它?
这使用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')
这样,只要您有权访问容器,您就可以从应用程序中的任何“服务”访问这些参数。您甚至可以只注入建议的参数,因为注入整个容器在性能方面代价高昂并且使测试更加困难。