如何在外部库中访问Phalcon配置数据?

时间:2016-02-21 06:41:26

标签: php phalcon

在我的项目中,我创建了一个“核心”目录,其中包含在整个控制器中调用的某些类和方法。我在我的bootstrap文件中定义了一个配置参数,如下所示:

private function loadConfig ()
{
    // Bootstrap
    $configFile = __DIR__ . '/../config/config.json';

    // Create the new object
    $config = json_decode ( file_get_contents ( $configFile ) );

    // Store it in the Di container
    $this->di->setShared ( 'config', $config );
}

我希望能够在我的“核心”类中访问这些配置值。

我该怎么办?

3 个答案:

答案 0 :(得分:5)

有几种方法可以获取您使用Dependency Injector注册的服务的引用。但是,为了确保获得相同的服务实例而不是新生成的实例,则需要使用getShared方法:

PDO

这样做可确保您获得最高性能,并最大限度地减少内存占用。

答案 1 :(得分:2)

在您的控制器类中,通过

调用config
$this->config

答案 2 :(得分:1)

您可以从任何实现Phalcon\Di\Injectable

的类访问服务
  • Phalcon\Mvc\Controller
  • Phalcon\Mvc\User\Component
  • Phalcon\Mvc\User\Module
  • Phalcon\Mvc\User\Plugin

示例:

$this->getDI()->get('config');

// The same as $this->config
$this->getDI()->getShared('config');