thinkphp5中__PUBLIC__的使用

在使用thinkphp5.1开发的时候遇到设置__PUBLIC__没法生效的问题。此次的版本升级有比较大的改动,不少写法已经被更改,下面说下怎么去解决这个问题。php

工具/原料

 
  • phpstorm
  • lnmp开发环境

问题简述

 
  1. 在用Php模板的时候须要引用外部的样式文件,以前的版本直接用__PUBLIC__就能够定位到指定的位置。thinkphp

     

  2. 在页面中发现__PUBLIC__并无转义成咱们须要的路径。缓存

     

  3. 在查询TP5.1的文档时候,有这么一句话。“view_replace_str配置参数改为template配置文件的tpl_replace_string配置参数。“。因此须要在config/template.php中设置tpl_replace_string的值。phpstorm

     

  4. 咱们直接添加这条配置项,代码以下。thinkphp5

    'tpl_replace_string' =>[    '__PUBLIC__' => $_SERVER['REQUEST_SCHEME']."://".$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['SCRIPT_NAME'])),],工具

    你也能够本身设置成固定样式。spa

    'tpl_replace_string' => ['__PUBLIC__'=>'/项目名/public'],orm

     

  5. 这时候刷新页面看一下。发现仍是__PUBLIC__并无转义。这里是由于Runtime下面有缓存文件。把Runtime下的文件都删除再试一下。问题完美解决了。blog

相关文章
相关标签/搜索