2
は、私は次のようにPhalconにボルトエンジンを構成し:あなたが見ることができるようにVoltコンパイル済みテンプレートのトップレベルキャッシュディレクトリを設定するにはどうすればよいですか?
// create dependency injector
$di = new Phalcon\DI\FactoryDefault();
// configure Volt compiler
$di->set('volt', function($view, $di) {
$volt = new \Phalcon\Mvc\View\Engine\Volt($view, $di);
$volt->getCompiler()
->addFunction('strtotime', 'strtotime')
->addFunction('money_format', 'money_format')
->addFunction('slownie', 'Kwota::getInstance()->slownie');
$volt->setOptions(array(
'compiledPath' => '../cache/' // this directory EXISTS
));
return $volt;
});
// configure View for backend actions
$di->set('view', function() {
$view = new Phalcon\Mvc\View();
$view->setViewsDir('../app/51/views/');
$view->registerEngines(['.volt' => 'volt']);
return $view;
});
// configure View for custom content like E-mails, print-view, etc.
$di->set('simpleView', function() {
$view = new Phalcon\Mvc\View\Simple();
$view->setViewsDir('../app/volt/');
$view->registerEngines(['.volt' => 'volt']);
return $view;
});
は、コンパイル.volt.phpテンプレートは../cacheディレクトリに保存する必要がありますが、それらがどこに同じフォルダに生成されます。ボルトテンプレートが配置されています。なにが問題ですか?
ところで、上記の例のように、複数のViewインスタンスで共有(同じ)ボルトコンポーネントを使用することは安全ですか? Voltコンストラクタが$ view引数を受け取ることに注意してください。
編集:彼らは干渉しているため、あなたが両方ビューとsimpleViewの共有ボルトコンパイラを使用することはできません。