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+DBM的同学录程序(3)
Oct 09 PHP
php array_map array_multisort 高效处理多维数组排序
Jun 11 PHP
让PHP COOKIE立即生效,不用刷新就可以使用
Mar 09 PHP
php 生成文字png图片的代码
Apr 17 PHP
php判断变量类型常用方法
Apr 24 PHP
php输出1000以内质数(素数)示例
Feb 16 PHP
PHP FTP操作类代码( 上传、拷贝、移动、删除文件/创建目录)
May 10 PHP
php中最简单的字符串匹配算法
Dec 16 PHP
PHP小偷程序的设计与实现方法详解
Oct 15 PHP
PHP重置数组为连续数字索引的几种方式总结
Mar 12 PHP
用PHP做了一个领取优惠券活动的示例代码
Jul 05 PHP
PHP设计模式入门之迭代器模式原理与实现方法分析
Apr 26 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
Syphon 秘笈
2021/03/03 冲泡冲煮
允许phpmyadmin空密码登录的配置方法
2011/05/29 PHP
如何利用php array_multisort函数 对数据库结果进行复杂排序
2013/06/08 PHP
解析php中的escape函数
2013/06/29 PHP
php中的filesystem文件系统函数介绍及使用示例
2014/02/13 PHP
Codeigniter操作数据库表的优化写法总结
2014/06/12 PHP
php中bind_param()函数用法分析
2017/03/28 PHP
详解PHP文件的自动加载(autoloading)
2018/02/04 PHP
JavaScript 设计模式学习 Singleton
2009/07/27 Javascript
jQuery取得设置清空select选择的文本与值
2014/07/08 Javascript
JS对象与json字符串格式转换实例
2014/10/28 Javascript
JavaScript实现大数的运算
2014/11/24 Javascript
使用AngularJS中的SCE来防止XSS攻击的方法
2015/06/18 Javascript
JavaScript的Number对象的toString()方法
2015/12/18 Javascript
Node.js实现文件上传
2016/07/05 Javascript
浅谈js中的引用和复制(传值和传址)
2016/09/18 Javascript
Nodejs 发送Post请求功能(发短信验证码例子)
2017/02/09 NodeJs
Vue 中的compile操作方法
2018/02/26 Javascript
解决angular2 获取到的数据无法实时更新的问题
2018/08/31 Javascript
JS实现的类似微信聊天效果示例
2019/01/29 Javascript
JS字符串和数组如何实现相互转化
2020/07/02 Javascript
js实现自定义滚动条的示例
2020/10/27 Javascript
Python3.2模拟实现webqq登录
2016/02/15 Python
python内存动态分配过程详解
2019/07/15 Python
使用TensorFlow实现简单线性回归模型
2019/07/19 Python
python+OpenCV实现车牌号码识别
2019/11/08 Python
简单了解Python读取大文件代码实例
2019/12/18 Python
TensorFlow实现批量归一化操作的示例
2020/04/22 Python
Paul’s Boutique官网:英国时尚手袋品牌
2018/03/31 全球购物
C#里面可以避免一个类被其他类继承么?如何?
2013/09/26 面试题
小学生获奖感言范文
2014/02/02 职场文书
优秀技术工人先进材料
2014/02/17 职场文书
外贸会计专业自荐信
2014/06/22 职场文书
检讨书范文1000字
2015/01/28 职场文书
春秋淹城导游词
2015/02/11 职场文书
DSP接收机前端设想
2022/04/05 无线电