'application' => array(
'controllersDir' => __DIR__ . '/../../app/controllers/',
'modelsDir' => __DIR__ . '/../../app/models/',
'viewsDir' => __DIR__ . '/../../app/views/templates/$dynamic_template_folder',
'pluginsDir' => __DIR__ . '/../../app/plugins/',
'libraryDir' => __DIR__ . '/../../app/library/',
'cacheDir' => __DIR__ . '/../../app/cache/',
'baseUri' => '/phalcon_project/',
)
如何从配置文件
中的数据库获取$ dynamic_template_folder答案 0 :(得分:1)
这是一个奇怪的问题。通常,您的配置是在执行任何逻辑之前定义的,因此在配置文件中执行此操作的唯一方法是打开与数据库的连接,获取值并将其附加到/../../app/views/templates/
。
当您定义视图服务时,更好的方法是在您的DI中。还可以考虑缓存数据库调用或在会话中存储数据,以避免不必要的调用。
$di->setShared('view', function () use ($di, $configuration) {
$templateDir = $di->db->…; // Load the necessary details from the db.
$view = new View();
$view->setViewsDir($configuration->viewsDir . $templateDir);
$view->registerEngines([…]);
return $view;
});