Phalcon配置文件动态模板

时间:2014-10-24 19:32:24

标签: php templates phalcon

'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

1 个答案:

答案 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;
});