在Codeigniter 3.0.6中,Twig 1.24.0项目如果在twig代码中我想清除任何页面重新加载的所有缓存。 在某些情况下,在我看来,在我修改了一些twig并通过CTRL + R重新加载页面后,新的更改未应用于此页面。 在我手动删除twig文件后,它可以正常工作。
包含twig以作为库
进行投影https://github.com/kenjis/codeigniter-ss-twig:
$twig_config = array();
$this->load->library('twig', $twig_config);
$twig_Environment = $this->twig->getTwig();
$ this-> config填充:
$this->config::Array
(
[paths] => Array
(
[0] => /mnt/diskD_Work/wwwroot/tb/application/views/
)
[cache] => /mnt/diskD_Work/wwwroot/tb/application/cache/twig
)
在$ twig_Environment对象输出中:
$twig_Environment::Twig_Environment Object
(
[charset:protected] => UTF-8
[loader:protected] => Twig_Loader_Filesystem Object
(
[paths:protected] => Array
(
[__main__] => Array
(
[0] => /mnt/diskD_Work/wwwroot/tb/application/views
)
)
[cache:protected] => Array
(
)
[errorCache:protected] => Array
(
)
)
[debug:protected] =>
[autoReload:protected] =>
[cache:protected] => Twig_Cache_Filesystem Object
(
[directory:Twig_Cache_Filesystem:private] => /mnt/diskD_Work/wwwroot/tb/application/cache/twig/
[options:Twig_Cache_Filesystem:private] => 0
)
在codeigniter-ss-twig对象中,我看到:
$debug= true; // for development envierement of CI project.
$twig = new \Twig_Environment($this->loader, [
'cache' => $this->config['cache'],
'debug' => $debug,
'strict_variables' => $debug,
'autoescape' => TRUE,
]);
如果我在重新加载页面时还有更多选项/调整来更新缓存吗?
谢谢!
答案 0 :(得分:0)
您可以启用auto_reload
,根据您的代码启用此选项:
$debug= true; // for development envierement of CI project.
$twig = new \Twig_Environment($this->loader, [
'cache' => $this->config['cache'],
'debug' => $debug,
'strict_variables' => $debug,
'autoescape' => TRUE,
'auto_reload' => TRUE,
]);
奇怪的是auto_reload
未激活,因为默认auto_reload
取决于选项debug
,如果您不手动设置
使用Twig进行开发时,重新编译模板很有用 每当源代码发生变化时。如果你没有提供值 auto_reload选项,它将根据自动确定 调试值。