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生成文件
Jan 15 PHP
php面向对象全攻略 (十六) 对象的串行化
Sep 30 PHP
php 文件上传类代码
Aug 06 PHP
fgetcvs在linux的问题
Jan 15 PHP
php生成缩略图示例代码分享(使用gd库实现)
Jan 20 PHP
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
Jun 12 PHP
ThinkPHP之M方法实例详解
Jun 20 PHP
php实现session自定义会话处理器的方法
Jan 27 PHP
又十个超级有用的PHP代码片段
Sep 24 PHP
PHP Filter过滤器全面解析
Aug 09 PHP
PHP设计模式之组合模式定义与应用示例
Feb 01 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
Mar 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
PHP+ajax 无刷新删除数据
2010/02/20 PHP
php知道与问问的采集插件代码
2010/10/12 PHP
PHP开发中的错误收集,不定期更新。
2011/02/03 PHP
解析PHP自带的进位制之间的转换函数
2013/06/08 PHP
php cookie使用方法学习笔记分享
2013/11/07 PHP
thinkPHP5实现数据库添加内容的方法
2017/10/25 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
2017/12/21 PHP
PHP实现的装箱算法示例
2018/06/23 PHP
JavaScript关于select的相关操作说明
2010/01/13 Javascript
jquery控制左右箭头滚动图片列表的实例
2013/05/20 Javascript
不提示直接关闭网页窗口的JS示例代码
2013/12/17 Javascript
使用AOP改善javascript代码
2015/05/01 Javascript
JS+CSS实现大气的黑色首页导航菜单效果代码
2015/09/10 Javascript
在Node.js中使用Javascript Generators详解
2016/05/05 Javascript
BootStrap+Angularjs+NgDialog实现模式对话框
2016/08/24 Javascript
微信公众号 客服接口的开发实例详解
2016/09/28 Javascript
微信小程序学习(4)-系统配置app.json详解
2017/01/12 Javascript
详解vue-cli中配置sass
2017/06/21 Javascript
javascript将url解析为json格式的两种方法
2017/08/18 Javascript
vue组件中的数据传递方法
2018/05/14 Javascript
解决vue2 在mounted函数无法获取prop中的变量问题
2018/11/15 Javascript
浅析vue中的provide / inject 有什么用处
2019/11/10 Javascript
Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
2017/07/11 Python
python生成九宫格图片
2018/11/19 Python
对python中类的继承与方法重写介绍
2019/01/20 Python
python matplotlib:plt.scatter() 大小和颜色参数详解
2020/04/14 Python
Python数据可视化常用4大绘图库原理详解
2020/10/23 Python
Python+Appium实现自动化清理微信僵尸好友的方法
2021/02/04 Python
波兰在线儿童和婴儿用品零售商:pinkorblue
2019/06/29 全球购物
经济类毕业生求职信
2014/06/26 职场文书
小学生2014国庆节演讲稿:祖国在我心中
2014/09/21 职场文书
2016年党员学习廉政准则心得体会
2016/01/20 职场文书
银行求职信怎么写
2019/06/20 职场文书
MySQL系列之七 MySQL存储引擎
2021/07/02 MySQL
tp5使用layui实现多个图片上传(带附件选择)的方法实例
2021/11/17 PHP
六个好看实用的 HTML + CSS 后台登录入口页面
2022/04/28 HTML / CSS