【问题标题】:PHP - Global/Instance VariablePHP - 全局/实例变量
【发布时间】:2013-06-12 17:46:51
【问题描述】:

我正在为在Symfony 2 上运行的网络应用程序编写CommandCommand 有一个集合结构,并且必须作为具有两个集合方法(configureexecute)的Class 以及任何用户定义的函数来实现。

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

【问题讨论】:

    标签: php variables symfony instance-variables


    【解决方案1】:

    这可以使用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')
    

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

    【讨论】:

    • 你在偷我的专业标签,我永远不会赢得更多声誉:P (+1)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-06
    • 1970-01-01
    • 1970-01-01
    • 2013-11-12
    • 2018-08-26
    • 1970-01-01
    相关资源
    最近更新 更多