ThinkPHP php 框架学习笔记


Posted in PHP onOctober 30, 2009

花了两个多钟在看 ThinkPHP 框架,不想太过深入的知道它的所有高深理论。单纯想知道怎么可以用起来,可以快捷的搭建一个网站。所以是有选择的看,二个钟后还是一头雾水。于是决定改变学习策略,上官方论坛看其它高人写的民间教程,果然比官方的通俗易懂多了。http://bbs.thinkphp.cn/forumdisplay.php?fid=6 (官方论坛)

ThinkPHP 有很多函数通过参数拼凑的方式来组合SQL,如下:$list = $test->findall('',$fields,'id desc',$p->firstRow.','.$p->listRows);虽然这样的拼凑的方式简化了我们 sql 语句,但这也要求我们要记住很多函数方法,我并不想去记太多这样的东西,觉得有时还不如直接写一条完整的 sql 来得简单。不知ThinkPHP里有没有直接写 sql 后执行select 查询的函数方法? 后来得知 Model.class.php 里面有一个方法 public function query($sql) 可以达到我想要的要求!在做分页时就是用query方法跳过了使用 findall 方法实现了分页功能。

看了例子和教程都是对单表操作的,可很多情况下我们要用到多表联合操作。如多表联合查询,这个时候又应该怎样做呢?ThinkPHP 已经考虑到这个问题,已经很贴心的帮我们安排了关联查询和关联操作。这些我都嫌弃过于麻烦!其实灵活运用这个框架里面的一些基本的函数方法,就可以达到关联查询和关联操作。没必要记忆一大堆乱七八糟的东西。

数据分页是经常要用到的一项功能,TP这方面做得还算挺简单。在网上找了一个教程( http://bbs.phpchina.com/thread-52813-1-1.html ),本以为参考这个教程写出一个TP分页程序应该很简单的事。没想到还是颇费了一番周折!

 ①     一开始是遇到 Fatal error:  Class 'Think' not found in….. 的错误提示,在网上找了一通才知道是缺少了一个扩展类库。后来在官方网站下载了相应的文件。

 ②     扩展类库有了,没提示错误了,可还是不能正确显示出想要的结果!查看“页面Trace信息”,原来是SQL有问题 SELECT COUNT() AS tp_count FROM `think_demo` LIMIT 1,分析得出教程的这句$count = $test->count('','id') 代码有问题,改成 $count = $test->count('id') 终于看到上一页下一页的超链接了。尽信书不如无书!

 ③     用教程的 $list = $test->findall('',$fields,'id desc',$p->firstRow.','.$p->listRows); 这句代码我怎么也得不到想要的结果,我也不想去深入了解 findall 方法的各个参数的使用方法。于是改成 $list = $test->query("select $fields from think_demo order by id desc limit $p->firstRow,$p->listRows") 。再运行,这次终于把分页搞掂出来了!

PHP 相关文章推荐
php 读取shell管道传输过来的内容
Mar 01 PHP
PHP无限分类(树形类)
Sep 28 PHP
php后门URL的防范
Nov 12 PHP
php调用C代码的实现方法
Mar 11 PHP
PHP模板引擎Smarty的缓存使用总结
Apr 24 PHP
php curl请求信息和返回信息设置代码实例
Apr 27 PHP
php生成txt文件实例代码介绍
Apr 28 PHP
浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别
Dec 15 PHP
详解php框架Yaf路由重写
Jun 20 PHP
PHP检查网站是否宕机的方法示例
Jul 24 PHP
php伪静态验证码不显示的解决方案
Sep 26 PHP
PHP cookie与session会话基本用法实例分析
Nov 18 PHP
php pack与unpack 摸板字符字符含义
Oct 29 #PHP
php 显示指定路径下的图片
Oct 29 #PHP
dedecms 批量提取第一张图片最为缩略图的代码(文章+软件)
Oct 29 #PHP
PHP 简单日历实现代码
Oct 28 #PHP
php 网页游戏开发入门教程一(webgame+design)
Oct 26 #PHP
php 文件上传系统手记
Oct 26 #PHP
php后台程序与Javascript的两种交互方式
Oct 25 #PHP
You might like
新版PHP极大的增强功能和性能
2006/10/09 PHP
php实现过滤表单提交中html标签的方法
2014/10/17 PHP
2014最热门的24个php类库汇总
2014/12/18 PHP
php实现插入排序
2015/03/29 PHP
比较完整的微信开发php代码
2016/08/02 PHP
php将文件夹打包成zip文件的简单实现方法
2016/10/04 PHP
Yii2使用$this->context获取当前的Module、Controller(控制器)、Action等
2017/03/29 PHP
幻宇的层模拟窗口效果-提供演示和下载
2007/01/20 Javascript
jquery实现固定顶部导航效果(仿蘑菇街)
2013/03/21 Javascript
在JS数组特定索引处指定位置插入元素
2014/07/27 Javascript
一个不错的js html页面倒计时可精确到秒
2014/10/22 Javascript
JS仿iGoogle自定义首页模块拖拽特效的方法
2015/02/13 Javascript
JavaScript中模拟实现jsonp
2015/06/19 Javascript
Jquery日历插件制作简单日历
2015/10/28 Javascript
jQuery使用ajax跨域获取数据的简单实例
2016/05/18 Javascript
很实用的js选项卡切换效果
2016/08/12 Javascript
微信小程序 animation API详解及实例代码
2016/10/08 Javascript
js获取浏览器和屏幕的各种宽度高度
2017/02/22 Javascript
bootstrap modal+gridview实现弹出框效果
2017/08/15 Javascript
EasyUI实现下拉框多选功能
2017/11/07 Javascript
JS实现的找零张数最小问题示例
2017/11/28 Javascript
如何将HTML字符转换为DOM节点并动态添加到文档中详解
2018/08/19 Javascript
微信小程序自定义组件传值 页面和组件相互传数据操作示例
2019/05/05 Javascript
Vue.use()在new Vue() 之前使用的原因浅析
2019/08/26 Javascript
用vue 实现手机触屏滑动功能
2020/05/28 Javascript
python读取csv文件示例(python操作csv)
2014/03/11 Python
Python正则表达式实现截取成对括号的方法
2017/01/06 Python
django在接受post请求时显示403forbidden实例解析
2018/01/25 Python
在Python中增加和插入元素的示例
2018/11/01 Python
如何利用cmp命令比较文件
2016/04/11 面试题
单位领导证婚词
2014/01/14 职场文书
小学毕业感言50字
2014/02/16 职场文书
2014年党员自我评议总结
2014/09/23 职场文书
车间质检员岗位职责
2015/04/08 职场文书
2015年销售部工作总结范文
2015/04/27 职场文书
如果用一句诗总结你的上半年,你会用哪句呢?
2019/07/16 职场文书