84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
在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之后用开发工具生成的目录不是这种结构了。
$view->registerEngines(
[ //".phtml" => 'Phalcon\Mvc\View\Engine\Php', '.phtml' => '\Phalcon\Mvc\View\Engine\Volt', '.volt' => function($view, $di) use ($config) { $volt = new \Phalcon\Mvc\View\Engine\Volt($view, $di); $volt->setOptions(['compiledPath' => $config->application->cacheDir . 'view/', 'compiledExtension' => '.compiled', 'compileAlways' => true ]); $compiler = $volt->getCompiler(); $compiler->addFilter('floor', 'floor'); $compiler->addFunction('range', 'range'); return $volt; }, ] );
这是我的使用方法。
如果是这种项目结构
只需要将services.php中的
剪切放在每个模块中的Modules.php中,替换
就ok了,,但是注意在Modules.php中要引入命名空间
不过在3.0之后用开发工具生成的目录不是这种结构了。
$view->registerEngines(
这是我的使用方法。