html5中文学习网

您的位置: 首页 > 网络编程 > PHP编程 » 正文

ThinkPHP V2.2说明文档没有说明的那些事实例小结_php实例_脚本之家

[ ] 已经帮助:人解决问题

本文实例讲述了ThinkPHP V2.2说明文档没有说明的那些事。分享给大家供大家参考。具体分析如下:bBQHTML5中文学习网 - HTML5先行者学习网

以下是总结一下说明文档没有提及和详细说明的内容:(日后不断更新)bBQHTML5中文学习网 - HTML5先行者学习网

1. 在配置文件中设置了APP_DEBUG为true,进入debug模式的时候,页面默认是不会显示trace信息信息的。bBQHTML5中文学习网 - HTML5先行者学习网

解决方法:'SHOW_PAGE_TRACE'=>true 加上这个就可以了。bBQHTML5中文学习网 - HTML5先行者学习网

2.action 内的success 方法只需要存入两个参数 success($message,$ajax=false),调用的页面是没写也会显示。bBQHTML5中文学习网 - HTML5先行者学习网

解决方法:要在配置文件中加上:bBQHTML5中文学习网 - HTML5先行者学习网
'TMPL_ACTION_SUCCESS'     => 'Public:success'(错误跳转:'TMPL_ACTION_ERROR'     => 'Public:success')bBQHTML5中文学习网 - HTML5先行者学习网

其实2.2版本中默认设置是这样的:bBQHTML5中文学习网 - HTML5先行者学习网

'TMPL_ACTION_ERROR'     => THINK_PATH.'/Tpl/dispatch_jump.html'。bBQHTML5中文学习网 - HTML5先行者学习网

3.用普通标签load模板引擎直接无视。bBQHTML5中文学习网 - HTML5先行者学习网

解决方法:无(还没找到原因)bBQHTML5中文学习网 - HTML5先行者学习网

4.__ROOT__在模板输入只会是空字符,在页面跳转后就不能用__ROOT__地址回到首页了。bBQHTML5中文学习网 - HTML5先行者学习网

解决方法:自己去修改__ROOT__,又或者在所有页面中加上<base href='http://网站访问根目录地址' />, 如:<base href='http://winesbox.com' />bBQHTML5中文学习网 - HTML5先行者学习网

5.有些服务器上ThinkPHP框架会出现以下问题:bBQHTML5中文学习网 - HTML5先行者学习网

bBQHTML5中文学习网 - HTML5先行者学习网

无法加载模块,这情况在是否有设置.htaccess文件无关。bBQHTML5中文学习网 - HTML5先行者学习网

问题在于ThinkPHP/Lib/Think/Util/Dispatcher.class.php中的getPathInfo方法中bBQHTML5中文学习网 - HTML5先行者学习网

此方法是重新负值于$_SERVER['PATH_INFO'],问题就来了bBQHTML5中文学习网 - HTML5先行者学习网

$_SERVER['PATH_INFO']$_SERVER['ORIG_PATH_INFO']$_SERVER['REDIRECT_PATH_INFO']$_SERVER["REDIRECT_URL"]

以上的系统变量不一定有,这个是全蛋疼的事,所以getPathInfo会一路判断有哪个就要怎么处理什么的。bBQHTML5中文学习网 - HTML5先行者学习网

出问题的地方在于判断有$_SERVER["REDIRECT_URL"]之后的操作,原码:bBQHTML5中文学习网 - HTML5先行者学习网

$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就会正常的了。bBQHTML5中文学习网 - HTML5先行者学习网

*注:$_SERVER["REQUEST_URI"] 获取http://blog.lpreterite.com后面的值,包括/bBQHTML5中文学习网 - HTML5先行者学习网

希望本文所述对大家基于ThinkPHP的php程序设计有所帮助。bBQHTML5中文学习网 - HTML5先行者学习网

(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助