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 各种应用乱码问题的解决方法
May 09 PHP
php目录操作函数之获取目录与文件的类型
Dec 29 PHP
php object转数组示例
Jan 15 PHP
PHP递归调用数组值并用其执行指定函数的方法
Apr 01 PHP
php文件压缩之PHPZip类用法实例
Jun 18 PHP
PHP之正则表达式捕获组与非捕获组(详解)
Jul 29 PHP
php 伪造HTTP_REFERER页面URL来源的三种方法
Sep 22 PHP
Laravel Memcached缓存驱动的配置与应用方法分析
Oct 08 PHP
浅谈PHP拦截器之__set()与__get()的理解与使用方法
Oct 18 PHP
PHP搭建大文件切割分块上传功能示例
Jan 04 PHP
laravel 输出最后执行sql 附:whereIn的使用方法
Oct 10 PHP
TP5框架简单登录功能实现方法示例
Oct 31 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
玩家交还《星际争霸》原始码光盘 暴雪报以厚礼
2017/05/05 星际争霸
聊天室php&mysql(五)
2006/10/09 PHP
用 PHP5 轻松解析 XML
2006/12/04 PHP
PHP面向对象概念
2011/11/06 PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
2014/07/12 PHP
浅谈php和.net的区别
2014/09/28 PHP
php实现统计二进制中1的个数算法示例
2018/01/23 PHP
php的命名空间与自动加载实现方法
2019/08/25 PHP
File, FileReader 和 Ajax 文件上传实例分析(php)
2011/04/27 Javascript
angular简介和其特点介绍
2015/01/29 Javascript
jQuery实现点击按钮弹出可关闭层的浮动层插件
2015/09/19 Javascript
jQuery实现的文字hover颜色渐变效果实例
2016/02/20 Javascript
jQuery实现简单滚动动画效果
2016/04/07 Javascript
全面解析JavaScript里的循环方法之forEach,for-in,for-of
2020/04/20 Javascript
JavaScript仿聊天室聊天记录
2016/12/27 Javascript
理解javascript中的闭包
2017/01/11 Javascript
NodeJs的fs读写删除移动监听
2017/04/28 NodeJs
详谈innerHTML innerText的使用和区别
2017/08/18 Javascript
AngularJS的$location使用方法详解
2017/10/19 Javascript
Angular事件之不同组件间传递数据的方法
2018/11/15 Javascript
angular中两种表单的区别(响应式和模板驱动表单)
2018/12/06 Javascript
vue中的过滤器实例代码详解
2019/06/06 Javascript
用tensorflow实现弹性网络回归算法
2018/01/09 Python
解决python线程卡死的问题
2019/02/18 Python
python多线程+代理池爬取天天基金网、股票数据过程解析
2019/08/13 Python
python多进程(加入进程池)操作常见案例
2019/10/21 Python
keras中epoch,batch,loss,val_loss用法说明
2020/07/02 Python
Python os库常用操作代码汇总
2020/11/03 Python
HTML5 Canvas入门学习教程
2016/03/17 HTML / CSS
印度最大的酒店品牌网络:OYO Rooms
2016/07/24 全球购物
viagogo英国票务平台:演唱会、体育比赛、戏剧门票
2017/03/24 全球购物
香港士多网上超级市场:Ztore
2021/01/09 全球购物
机械专业应届生求职信
2013/12/12 职场文书
教师个人发展总结
2015/02/11 职场文书
详解MySQL集群搭建
2021/05/26 MySQL
python套接字socket通信
2022/04/01 Python