thinkphp5中__PUBLIC__的使用


在使用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下的文件都刪除再試一下。問題完美解決了。

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM