Php 在静态方法中访问配置

Php 在静态方法中访问配置,php,phalcon,Php,Phalcon,如何在控制器的静态方法中访问配置?我有Phalcon 1.3。此方法不起作用: $offerSource = $this->config->offerSource; 正如前面提到的伪变量$this在静态方法中是不允许的。您可以将config属性声明为static,然后使用如下静态方法访问它:self::$config试试这个 以静态方式访问DI 如果需要,您可以访问在静态函数中创建的最新DI,您可以在静态方法中使用\Phalcon\DI::getDefault() 公共函数索引()

如何在控制器的静态方法中访问配置?我有Phalcon 1.3。此方法不起作用:

$offerSource = $this->config->offerSource;

正如前面提到的伪变量$this在静态方法中是不允许的。您可以将config属性声明为static,然后使用如下静态方法访问它:self::$config

试试这个

以静态方式访问DI

如果需要,您可以访问在静态函数中创建的最新DI,您可以在静态方法中使用
\Phalcon\DI::getDefault()

公共函数索引()
{
$this->StaticMethod();
}
私有静态函数StaticMethod()
{
$config=\Phalcon\DI::getDefault()['config']->toArray();
回声“;
打印(配置);
回声“;
出口
}

$this
在静态方法中不存在,因为调用静态方法不需要存在实例。为什么在控制器上有一个静态方法?如何声明配置静态属性?如果没有$this.Add关键字“static”到config属性声明中,我不知道该怎么做,所以(假设config有受保护的可见性),它看起来是这样的:受保护的static$config;但是我如何才能访问app/config/config.php中的config属性呢?app/config/config.php必须是Phalcon 1.3的一部分,所以不要更改任何内容。在这种情况下,只有类的实例可以访问$config,所以不要使用静态而非静态方法。@sdafasdf请投票回答!最好使用
$config=\Phalcon\DI::getDefault()->get('config')
public function indexAction()
{
    $this->StaticMethod();
}

private static function StaticMethod()
{
    $config = \Phalcon\DI::getDefault()['config']->toArray();
    echo "<pre>";
    print_r($config);
    echo "</pre>";
    exit;
}