ThinkPHP V2.2说明文档没有说明的那些事实例小结


Posted in PHP onJuly 01, 2015

本文实例讲述了ThinkPHP V2.2说明文档没有说明的那些事。分享给大家供大家参考。具体分析如下:

以下是总结一下说明文档没有提及和详细说明的内容:(日后不断更新)

1. 在配置文件中设置了APP_DEBUG为true,进入debug模式的时候,页面默认是不会显示trace信息信息的。

解决方法:'SHOW_PAGE_TRACE'=>true 加上这个就可以了。

2.action 内的success 方法只需要存入两个参数 success($message,$ajax=false),调用的页面是没写也会显示。

解决方法:要在配置文件中加上:
'TMPL_ACTION_SUCCESS'     => 'Public:success'(错误跳转:'TMPL_ACTION_ERROR'     => 'Public:success')

其实2.2版本中默认设置是这样的:

'TMPL_ACTION_ERROR'     => THINK_PATH.'/Tpl/dispatch_jump.html'。

3.用普通标签load模板引擎直接无视。

解决方法:无(还没找到原因)

4.__ROOT__在模板输入只会是空字符,在页面跳转后就不能用__ROOT__地址回到首页了。

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

5.有些服务器上ThinkPHP框架会出现以下问题:

ThinkPHP V2.2说明文档没有说明的那些事实例小结

无法加载模块,这情况在是否有设置.htaccess文件无关。

问题在于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"]

以上的系统变量不一定有,这个是全蛋疼的事,所以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程序设计有所帮助。

PHP 相关文章推荐
PHP 基本语法格式
Dec 15 PHP
DedeCMS 核心类TypeLink.class.php摘要笔记
Apr 07 PHP
php access 数据连接与读取保存编辑数据的实现代码
May 12 PHP
php 多关键字 高亮显示实现代码
Apr 23 PHP
php多层数组与对象的转换实例代码
Aug 05 PHP
php jquery 多文件上传简单实例
Dec 23 PHP
PHP伪静态Rewrite设置之APACHE篇
Jul 30 PHP
ThinkPHP入口文件设置及相关注意事项分析
Dec 05 PHP
刷新PHP缓冲区为你的站点加速
Oct 10 PHP
php session的应用详细介绍
Mar 22 PHP
Laravel推荐使用的十个辅助函数
May 10 PHP
浅谈PHP array_search 和 in_array 函数效率问题
Oct 15 PHP
PHP判断是否连接上网络的方法
Jul 01 #PHP
PHP抓取网页、解析HTML常用的方法总结
Jul 01 #PHP
PHP中static关键字以及与self关键字的区别
Jul 01 #PHP
PHP单例模式详细介绍
Jul 01 #PHP
curl和libcurl的区别简介
Jul 01 #PHP
PHP+Ajax实时自动检测是否联网的方法
Jul 01 #PHP
PHP超全局数组(Superglobals)介绍
Jul 01 #PHP
You might like
5.PHP的其他功能
2006/10/09 PHP
PHP+AJAX实现无刷新注册(带用户名实时检测)
2006/12/02 PHP
php获取地址栏信息的代码
2008/10/08 PHP
PHP下载远程图片的几种方法总结
2017/04/07 PHP
jquery中的查找parents与closest方法之间的区别
2013/12/02 Javascript
Ajax提交与传统表单提交的区别说明
2014/02/07 Javascript
javascript事件冒泡详解和捕获、阻止方法
2014/04/12 Javascript
JavaScript设计模式之建造者模式介绍
2014/12/28 Javascript
AngularJS实践之使用NgModelController进行数据绑定
2016/10/08 Javascript
canvas实现十二星座星空图
2017/02/14 Javascript
BootStrap fileinput.js文件上传组件实例代码
2017/02/20 Javascript
通过一个简单的例子学会vuex与模块化
2017/11/22 Javascript
layui-select动态选中值的例子
2019/09/23 Javascript
Python Matplotlib库入门指南
2015/05/18 Python
Python中类的初始化特殊方法
2017/12/01 Python
Python数据结构与算法之图的广度优先与深度优先搜索算法示例
2017/12/14 Python
Python简单实现查找一个字符串中最长不重复子串的方法
2018/03/26 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
2018/07/27 Python
python关于矩阵重复赋值覆盖问题的解决方法
2019/07/19 Python
在VS2017中用C#调用python脚本的实现
2019/07/31 Python
使用jupyter notebook将文件保存为Markdown,HTML等文件格式
2020/04/14 Python
Python利用pip安装tar.gz格式的离线资源包
2020/09/14 Python
Python字符串查找基本操作代码案例
2020/10/27 Python
css3 column实现卡片瀑布流布局的示例代码
2018/06/22 HTML / CSS
很酷的小工具和电子产品商城:GearBest
2016/11/19 全球购物
Python中如何定义一个函数
2016/09/06 面试题
医学专业个人求职自荐信格式
2013/09/23 职场文书
五一家具促销方案
2014/01/10 职场文书
2014年工作总结及2015工作计划
2014/12/12 职场文书
医药公司采购员岗位职责
2015/04/03 职场文书
党员承诺书格式范文
2015/04/28 职场文书
乡镇团委工作总结2015
2015/05/26 职场文书
培根随笔读书笔记
2015/07/01 职场文书
活动简报范文
2015/07/22 职场文书
Nginx下配置Https证书详细过程
2021/04/01 Servers
golang 在windows中设置环境变量的操作
2021/04/29 Golang