《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 href='http://winesbox.com' />
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学院为您提供专业教程。
转载请注明本页网址:
http://www.vephp.com/jiaocheng/9997.html