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 相关文章推荐
在VS2008中编译MYSQL5.1.48的方法
Jul 03 PHP
php学习之流程控制实现代码
Jun 09 PHP
PHP 字符串正则替换函数preg_replace使用说明
Jul 15 PHP
如何利用PHP执行.SQL文件
Jul 05 PHP
如何使用PHP对网站验证码进行破解
Sep 17 PHP
ThinkPHP中html:list标签用法分析
Jan 09 PHP
Symfony2框架学习笔记之表单用法详解
Mar 18 PHP
PHP微信刮刮卡 附微信接口
Jul 22 PHP
php根据年月获取当月天数及日期数组的方法
Nov 30 PHP
php接口技术实例详解
Dec 07 PHP
php读取本地json文件的实例
Mar 07 PHP
php将从数据库中获得的数据转换成json格式并输出的方法
Aug 21 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
星际原理概述
2020/03/04 星际争霸
PHP自定义函数实现格式化秒的方法
2016/09/14 PHP
Javacript实现颜色梯度变化和渐变的效果代码
2013/05/31 Javascript
JS阻止冒泡事件以及默认事件发生的简单方法
2014/01/17 Javascript
如何实现textarea里的不同文本显示不同颜色
2014/01/20 Javascript
JavaScript把数组作为堆栈使用的方法
2015/03/20 Javascript
JavaScript实现将文本框的值插入指定位置的方法
2015/08/13 Javascript
jquery衣服颜色选取插件效果代码分享
2015/08/28 Javascript
js实现新年倒计时效果
2015/12/10 Javascript
如何用js判断dom是否有存在某class的值
2017/02/13 Javascript
微信小程序 图片绝对定位(背景图片)
2017/04/05 Javascript
基于JavaScript实现图片连播和联级菜单实例代码
2017/07/28 Javascript
vue上传图片到oss的方法示例(图片带有删除功能)
2018/09/27 Javascript
node实现爬虫的几种简易方式
2019/08/22 Javascript
layui问题之自动滚动二级iframe页面到指定位置的方法
2019/09/18 Javascript
Vue.js 中制作自定义选择组件的代码附演示demo
2020/02/28 Javascript
vant自定义二级菜单操作
2020/11/02 Javascript
[01:08:57]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第二场
2014/05/24 DOTA
python实现用户登陆邮件通知的方法
2015/07/09 Python
Python入门之三角函数sin()函数实例详解
2017/11/08 Python
python实现比较文件内容异同
2018/06/22 Python
python中ASCII码字符与int之间的转换方法
2018/07/09 Python
python 实现图片旋转 上下左右 180度旋转的示例
2019/01/24 Python
Django基础知识 URL路由系统详解
2019/07/18 Python
Django框架 querySet功能解析
2019/09/04 Python
解决os.path.isdir() 判断文件夹却返回false的问题
2019/11/29 Python
Python类及获取对象属性方法解析
2020/06/15 Python
德国综合购物网站:OTTO
2018/11/13 全球购物
金融专业大学生职业生涯规划范文
2014/01/16 职场文书
服务员岗位责任制
2014/02/11 职场文书
《风筝》教学反思
2014/04/10 职场文书
北京天坛导游词
2015/02/12 职场文书
小学班主任自我评价
2015/03/11 职场文书
小学国庆节活动总结
2015/03/23 职场文书
小学英语新课改心得体会
2016/01/22 职场文书
分享Python异步爬取知乎热榜
2022/04/12 Python