thinkphp5 模板不缓存

论坛 期权论坛 脚本     
已经匿名di用户   2022-5-29 19:29   1596   0

在使用thinkphp5时,有一个问题特别的头疼,那就是每次修改模板,或者修改php文件时,视图不能立即在模板中体现出来?

网上说在config.php中配置一下就可以了,我也配置了还是不行,我的配置如下:

'app_debug'=>true,
'app_trace'=>true,
 
//关闭模板缓存
'TMPL_CACHE_ON' => false,  
'HTML_CACHE_ON'=>false,
   
'default_module'=>'home',
'default_controller'=>'Index',
'default_action'=>'index'

最后想了一个办法,在进入home模块时,判断一下缓存目录是否有缓存,有的话把缓存删除;

具体代码如下:

public function _initialize(){
  //查看文件夹下是否有文件
  $path = TEMP_PATH;
  
  if(!is_dir($path)){
   
   echo '不是目录';
  }else{
   /**
   opendir()打开一个目录,读取他的内容,然后关闭;成功则返回目录句柄资源,失败则返回false
   如果路径不是合法目录,或者由于许可限制或文件系统错误导致的目录不能打开,则抛出E_WARNING级别的错误
   所以在生产环境下,为了避免错误输出,可以在函数名前添加@来隐藏opendir()的错误输出
   */
   if($handle = @opendir($path)){
    //readdir()返回目录中下一个文件的文件名
    while($file = readdir($handle) !== false){
     
     echo $file.'<hr/>';
     if($file != '.' && $file != '..'){
      echo $path.DIRECTORY_SEPARATOR.$file.'<hr/>';
     }else{
      echo 'no<br/>';
      
     }
     
    }
   }
   closedir($handle);
  }
 }

结果令我大失所望,居然输出:


明明temp目录下是有模板缓存的,并且我还新建了3个txt文件,为啥全部输出1呢?


经过一番摸索,终于找出了问题的根源所在-- 等号与不全等的优先级不一样的,等于号的优先级小于不全等号的优先级,所以应该在等号哪里加上一个括号


然后,再次浏览,问题解决了


我的大作,欢迎来踩哦 www.iis7.com

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:81
帖子:4969
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP