ThinkPHP V2.2说明文档没有说明的那些事实例小结,
本文实例讲述了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__,又或者在所有页面中加上
5.有些服务器上ThinkPHP框架会出现以下问题:
无法加载模块,这情况在是否有设置.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程序设计有所帮助。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

禅工作室 13.0.1
功能强大的PHP集成开发环境

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

Dreamweaver CS6
视觉化网页开发工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境