在我的项目中,我创建了一个“核心”目录,其中包含在整个控制器中调用的某些类和方法。我在我的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 );
}
我希望能够在我的“核心”类中访问这些配置值。
我该怎么办?
答案 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');