php - phalcon中为什么用tools生成的单模块项目是volt引擎,但是多模块用的是.phtml呢?

查看:139
本文介绍了php - phalcon中为什么用tools生成的单模块项目是volt引擎,但是多模块用的是.phtml呢?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

在phalcon中,用tools生成的单模块项目,默认是.volt

但是生成的多模块是.phtml

如何也让多模块也用.volt引擎呢?

ps:光改文件后缀不好使

解决方案

如果是这种项目结构

只需要将services.php中的

$di->setShared('view', function () use ($config) {

            $view = new View();

            $view->setViewsDir($config->application->viewsDir);

            $view->registerEngines(array(
                '.volt' => function ($view, $di) use ($config) {

                    $volt = new VoltEngine($view, $di);

                    $volt->setOptions(array(
                        'compiledPath' => $config->application->cacheDir,
                        'compiledSeparator' => '_'
                    ));

                    return $volt;
                },
                //'.phtml' => 'Phalcon\Mvc\View\Engine\Php'
               // '.volt' => 'Phalcon\Mvc\View\Engine\Volt'
            ));

            return $view;
        });

剪切放在每个模块中的Modules.php中,替换

$di['view'] = function () {
            $view = new View();
            $view->setViewsDir(__DIR__ . '/views/');

            return $view;
            }

就ok了,,但是注意在Modules.php中要引入命名空间

use Phalcon\Mvc\View\Engine\Volt as VoltEngine;

不过在3.0之后用开发工具生成的目录不是这种结构了。

这篇关于php - phalcon中为什么用tools生成的单模块项目是volt引擎,但是多模块用的是.phtml呢?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆