《PHP編程:ThinkPHP V2.2說明文檔沒有說明的那些事實例小結》要點:
本文介紹了PHP編程:ThinkPHP V2.2說明文檔沒有說明的那些事實例小結,希望對您有用。如果有疑問,可以聯系我們。
相關主題:thinkphp教程
PHP實戰本文實例講述了ThinkPHP V2.2說明文檔沒有說明的那些事.分享給大家供大家參考.具體分析如下:
PHP實戰以下是總結一下說明文檔沒有提及和詳細說明的內容:(日后不斷更新)
PHP實戰1. 在配置文件中設置了APP_DEBUG為true,進入debug模式的時候,頁面默認是不會顯示trace信息信息的.
PHP實戰解決辦法:'SHOW_PAGE_TRACE'=>true 加上這個就可以了.
PHP實戰2.action 內的success 辦法只需要存入兩個參數 success($message,$ajax=false),調用的頁面是沒寫也會顯示.
PHP實戰解決辦法:要在配置文件中加上:
'TMPL_ACTION_SUCCESS'???? => 'Public:success'(錯誤跳轉:'TMPL_ACTION_ERROR'???? => 'Public:success')
PHP實戰其實2.2版本中默認設置是這樣的:
PHP實戰'TMPL_ACTION_ERROR'???? => THINK_PATH.'/Tpl/dispatch_jump.html'.
PHP實戰3.用普通標簽load模板引擎直接無視.
PHP實戰解決辦法:無(還沒找到原因)
PHP實戰4.__ROOT__在模板輸入只會是空字符,在頁面跳轉后就不能用__ROOT__地址回到首頁了.
PHP實戰解決方法:自己去修改__ROOT__,又或者在所有頁面中加上<base href='http://網站拜訪根目錄地址' />, 如:<base />
PHP實戰5.有些服務器上ThinkPHP框架會出現以下問題:
PHP實戰
PHP實戰無法加載模塊,這情況在是否有設置.htaccess文件無關.
PHP實戰問題在于ThinkPHP\Lib\Think\Util\Dispatcher.class.php中的getPathInfo辦法中
PHP實戰此辦法是重新負值于$_SERVER['PATH_INFO'],問題就來了
PHP實戰
$_SERVER['PATH_INFO']
$_SERVER['ORIG_PATH_INFO']
$_SERVER['REDIRECT_PATH_INFO']
$_SERVER["REDIRECT_URL"]
PHP實戰以上的系統變量不一定有,這個是全蛋疼的事,所以getPathInfo會一路判斷有哪個就要怎么處理什么的.
PHP實戰出問題的地方在于判斷有$_SERVER["REDIRECT_URL"]之后的操作,原碼:
PHP實戰
$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);
}
PHP實戰標成紅色的就是出錯的原因,改成REQUEST_URI就會正常的了.
PHP實戰*注:$_SERVER["REQUEST_URI"] 獲取http://blog.lpreterite.com后面的值,包括/
PHP實戰希望本文所述對大家基于ThinkPHP的php程序設計有所贊助.
歡迎參與《PHP編程:ThinkPHP V2.2說明文檔沒有說明的那些事實例小結》討論,分享您的想法,維易PHP學院為您提供專業教程。