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

相關文章
相關標籤/搜索