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

工具/原料

 
  • phpstorm
  • lnmp开发环境

问题简述

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

  2. 在页面中发现__PUBLIC__并没有转义成我们需要的路径。

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

  4. 我们直接添加这条配置项,代码如下。

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

    你也可以自己设置成固定样式。

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

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

    原文链接:https://jingyan.baidu.com/article/fec7a1e5be9be21191b4e74a.html

thinkphp5中__PUBLIC__的使用的更多相关文章

  1. thinkphp5中使用phpmailer实现发送邮件功能(转载)

    一.开启SMTP服务(使用php发送邮件需要用到SMTP服务,这里以163邮箱的SMTP服务为例). 1.登录163邮箱,在首页上找到“设置”. 2.选择开启的服务,一般都全选,POP3/SMTP/I ...

  2. thinkphp5中使用PHPExcel(转载)

    thinkphp5中可以使用composer来获取第三方类库,使用起来特别方便,例如:可是使用composer下载PHPMailer,think-captcha(验证码)等等…… 接下来说一下怎么使用 ...

  3. thinkphp5中如何使用 usort

    thinkphp5中如何使用 usort 一.总结 一句话总结:其实比较函数加上命名空间就好啦,不然找不到 比较函数加命名空间 数组做usort的第二个参数 usort($question_list, ...

  4. thinkphp5中的配置如何使用

    thinkphp5中的配置如何使用 一.总结 一句话总结:先加载配置,然后读取配置即可 加载配置 读取配置 Config::load(APP_PATH.'fry_config.php');\\加载配置 ...

  5. thinkphp5中的一些关于命名空间的tisp

    1.thinkphp5中公共函数文件common中,不需要use,也可以直接使用vendor中的类文件. 2.在类前面的反斜杠作用是,直接使用最外层的命名空间,有时不想use某个X类,却想使用X类时, ...

  6. ThinkPHP5中find()和select()区别

    ThinkPHP5中find()和select()区别 读取数据是指读取数据表中的一行数据(或者关联数据),主要通过find方法完成,例如: 1 2 3 4 $User = M("User& ...

  7. ThinkPHP5中如何实现模板完全静态化

    模板完全静态化,也就是通过模板完全生成纯静态的网页,相比动态页面和伪静态页面更安全更利于SEO访问更快.相比前二者各有利弊吧,现在稍微对这三种形式的优缺点对比一下,以及在ThinkPHP5项目中实现完 ...

  8. ThinkPHP5中模型关联关系一对一,一对多

    TP5 返回json反斜杠前面转义了class XinDai extends Controller{ public function index(){ $res = [ ['logo'=>'/i ...

  9. thinkphp5中使用phpmailer实现发送邮件功能

    一.开启SMTP服务(使用php发送邮件需要用到SMTP服务,这里以163邮箱的SMTP服务为例). 1.登录163邮箱,在首页上找到“设置”. 2.选择开启的服务,一般都全选,POP3/SMTP/I ...

随机推荐

  1. mongoDB 安装和配置环境变量,超详细版本

    下载mongoDB进行安装:https://www.mongodb.com/                                                 到Community Se ...

  2. PHP单元测试PHPUnit

    配置说明 1.全局安装phpunit命令脚本 1 2 3 4 5 $ wget https://phar.phpunit.de/phpunit-7.0.phar $ chmod +x phpunit- ...

  3. Js中instanceof 的用法

    在 JavaScript 中,判断一个变量的类型尝尝会用 typeof 运算符,在使用 typeof 运算符时采用引用类型存储值会出现一个问题,无论引用的是什么类型的对象,它都返回 “object”. ...

  4. jQuery-mobilevalidate使用 的一些心得,小小总结

    在做M站时比较纠结的是表单验证,不像pc端,移动端的验证要求插件更小更轻量,更加灵活,说不定是冒气泡的报错提示?! 介绍一款好用的移动端的表单验证插件:jQuery-mobilevalidate: 代 ...

  5. APIDOC的使用

    工具名称:APIDOCGit地址:https://github.com/apidoc/apidoc 项目地址:http://apidocjs.com/ 样例项目:http://apidocjs.com ...

  6. SWT 几个sample网站

    https://www.programcreek.com/java-api-examples/org.eclipse.swt.custom.ScrolledComposite https://o7pl ...

  7. APP需求调研、对比

    二.人脸验证 1.芝麻认证 : 0.4元/次,需要企业企业认证.不能有与芝麻信用类似的业务,如:保险... 2.旷视 : 0.5/次.企业认证.业务限制 3. 百度人脸识别 :  企业认证. 4.科大 ...

  8. 【Java】Android EditText开发的一个容易忽略的坑

    这几天接手做一个远程控制Android application,安卓前台的EditText用来输入ip地址.端口等信息,发现EditText的使用存在着巨坑一个! 我在网上找了半天,发现仅仅有人提出这 ...

  9. EasyUI-datebox设置开始日期小于结束日期,并且结束日期小于当前日期

    datebox设置开始日期小于结束日期,并且结束日期小于当前日期 //日期控制扩展选择日期小于等于当前日期,开始日期小于等于结束日期 $("#datebox1").datebox( ...

  10. 第二十天 模块 sys os os下path settings random shuit

    一.sys模块 1.sys.argv 命令行参数List,第一个元素是程序本身路径 2.sys.exit(n) 退出程序,正常退出时exit(0) 3.sys.version 获取Pythonn解释程 ...