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函数
Oct 09 PHP
php中生成随机密码的自定义函数代码
Oct 21 PHP
PHP安全的URL字符串base64编码和解码
Jun 19 PHP
php自定义apk安装包实例
Oct 20 PHP
PHP has encountered a Stack overflow问题解决方法
Nov 03 PHP
PHP中array_slice函数用法实例详解
Nov 25 PHP
php实现的简单日志写入函数
Mar 31 PHP
Laravel 中获取上一篇和下一篇数据
Jul 27 PHP
ThinkPHP表单数据智能写入create方法实例分析
Sep 27 PHP
php fseek函数读取大文件两种方法
Oct 12 PHP
php+redis实现多台服务器内网存储session并读取示例
Jan 12 PHP
PDO::quote讲解
Jan 29 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 移除数组重复元素的一点说明
2008/11/27 PHP
php数组删除元素示例
2014/03/21 PHP
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
Ajax请求PHP后台接口返回信息的实例代码
2018/08/21 PHP
JS getMonth()日期函数的值域是0-11
2010/02/15 Javascript
基于Jquery的动态添加控件并取值的实现代码
2010/09/24 Javascript
分享10篇优秀的jQuery幻灯片制作教程及应用案例
2011/04/16 Javascript
深入分析js中的constructor和prototype
2012/04/07 Javascript
js显示时间 js显示最后修改时间
2013/01/02 Javascript
jQuery Mobile页面跳转后未加载外部JS原因分析及解决
2013/03/18 Javascript
JS中eval函数的使用示例
2013/07/21 Javascript
兼容FF和IE的动态table示例自写
2013/10/21 Javascript
jQuery对象的selector属性用法实例
2014/12/27 Javascript
jQuery实现的分子运动小球碰撞效果
2016/01/27 Javascript
分享JavaScript监听全部Ajax请求事件的方法
2016/08/28 Javascript
利用BootStrap弹出二级对话框的简单实现方法
2016/09/21 Javascript
JS 调试中常见的报错问题解决方法
2017/05/20 Javascript
React应用中使用Bootstrap的方法
2017/08/15 Javascript
react koa rematch 如何打造一套服务端渲染架子
2019/06/26 Javascript
python 中文字符串的处理实现代码
2009/10/25 Python
纯Python开发的nosql数据库CodernityDB介绍和使用实例
2014/10/23 Python
numpy中实现二维数组按照某列、某行排序的方法
2018/04/04 Python
Python实现修改IE注册表功能示例
2018/05/10 Python
Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str
2019/08/07 Python
Python %r和%s区别代码实例解析
2020/04/03 Python
Python插件机制实现详解
2020/05/04 Python
美国当红的名品折扣网:Gilt Groupe
2016/08/15 全球购物
Foot Locker德国官方网站:美国运动服和鞋类零售商
2018/11/01 全球购物
世界上最受欢迎的钓鱼诱饵:Rapala
2019/05/02 全球购物
琳达·法罗眼镜英国官网:Linda Farrow英国
2021/01/19 全球购物
财务工作者先进事迹材料
2014/01/17 职场文书
文字自荐书范文
2014/02/10 职场文书
《两个铁球同时着地》教学反思
2014/02/13 职场文书
关于读书的演讲稿500字
2014/08/27 职场文书
html+css实现滚动到元素位置显示加载动画效果
2021/08/02 HTML / CSS
win10电脑关机快捷键是哪个 win10快速关机的几种方法
2022/08/14 数码科技