ThinkPHP V2.2說明文檔沒有說明的那些事實例小結(jié)
本文實例講述了ThinkPHP V2.2說明文檔沒有說明的那些事。分享給大家供大家參考。具體分析如下:
以下是總結(jié)一下說明文檔沒有提及和詳細說明的內(nèi)容:(日后不斷更新)
1. 在配置文件中設(shè)置了APP_DEBUG為true,進入debug模式的時候,頁面默認是不會顯示trace信息信息的。
解決方法:'SHOW_PAGE_TRACE'=>true 加上這個就可以了。
2.action 內(nèi)的success 方法只需要存入兩個參數(shù) success($message,$ajax=false),調(diào)用的頁面是沒寫也會顯示。
解決方法:要在配置文件中加上:
'TMPL_ACTION_SUCCESS' => 'Public:success'(錯誤跳轉(zhuǎn):'TMPL_ACTION_ERROR' => 'Public:success')
其實2.2版本中默認設(shè)置是這樣的:
'TMPL_ACTION_ERROR' => THINK_PATH.'/Tpl/dispatch_jump.html'。
3.用普通標簽load模板引擎直接無視。
解決方法:無(還沒找到原因)
4.__ROOT__在模板輸入只會是空字符,在頁面跳轉(zhuǎn)后就不能用__ROOT__地址回到首頁了。
解決方法:自己去修改__ROOT__,又或者在所有頁面中加上<base href='http://網(wǎng)站訪問根目錄地址' />, 如:<base />
5.有些服務(wù)器上ThinkPHP框架會出現(xiàn)以下問題:
無法加載模塊,這情況在是否有設(shè)置.htaccess文件無關(guān)。
問題在于ThinkPHP\Lib\Think\Util\Dispatcher.class.php中的getPathInfo方法中
此方法是重新負值于$_SERVER['PATH_INFO'],問題就來了
$_SERVER['PATH_INFO'] $_SERVER['ORIG_PATH_INFO'] $_SERVER['REDIRECT_PATH_INFO'] $_SERVER["REDIRECT_URL"]
以上的系統(tǒng)變量不一定有,這個是全蛋疼的事,所以getPathInfo會一路判斷有哪個就要怎么處理什么的。
出問題的地方在于判斷有$_SERVER["REDIRECT_URL"]之后的操作,原碼:
$path = $_SERVER["REDIRECT_URI"]; if(empty($_SERVER['QUERY_STRING']) || $_SERVER['QUERY_STRING'] == $_SERVER["REDIRECT_QUERY_STRING"]) { $parsedUrl = parse_url($_SERVER["REQUEST_URL"]); if(!empty($parsedUrl['query'])) { $_SERVER['QUERY_STRING'] = $parsedUrl['query']; parse_str($parsedUrl['query'], $GET); $_GET = array_merge($_GET, $GET); reset($_GET); }else { unset($_SERVER['QUERY_STRING']); } reset($_SERVER); }
標成紅色的就是出錯的原因,改成REQUEST_URI就會正常的了。
*注:$_SERVER["REQUEST_URI"] 獲取http://blog.lpreterite.com后面的值,包括/
希望本文所述對大家基于ThinkPHP的php程序設(shè)計有所幫助。
相關(guān)文章
Zend Framework框架的數(shù)據(jù)庫追蹤器使用示例
這篇文章主要介紹了Zend Framework框架的數(shù)據(jù)庫追蹤器使用示例,現(xiàn)把追蹤器的使用方法分享給大家,需要的朋友可以參考下2014-03-03Zend?Framework框架的Filter過濾器使用示例
這篇文章主要介紹了Zend?Framework框架的Filter過濾器使用示例,代碼中有注釋,需要的朋友可以參考下2014-03-03TP5框架實現(xiàn)的數(shù)據(jù)庫備份功能示例
這篇文章主要介紹了TP5框架實現(xiàn)的數(shù)據(jù)庫備份功能,結(jié)合實例形式分析了TP5數(shù)據(jù)庫備份功能相關(guān)原理及實現(xiàn)方法,需要的朋友可以參考下2020-04-04