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 smarty函数扩展
Mar 15 PHP
PHP 网络开发详解之远程文件包含漏洞
Apr 25 PHP
PHP中PDO的错误处理
Sep 04 PHP
服务器变量 $_SERVER 的深入解析
Jul 02 PHP
11个PHPer必须要了解的编程规范
Sep 22 PHP
PHP+ajax分页实例简析
Dec 07 PHP
PHP二维数组排序简单实现方法
Feb 14 PHP
PHP 以POST方式提交XML、获取XML,解析XML详解及实例
Oct 26 PHP
cakephp常见知识点汇总
Feb 24 PHP
PHP面向对象五大原则之开放-封闭原则(OCP)详解
Apr 04 PHP
PHP设计模式(一)工厂模式Factory实例详解【创建型】
May 02 PHP
PHP mkdir创建文件夹实现方法解析
Nov 13 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 ob_flush,flush在ie中缓冲无效的解决方法
2010/05/09 PHP
PHP中break及continue两个流程控制指令区别分析
2011/04/18 PHP
zend Framework中的Layout(模块化得布局)详解
2013/06/28 PHP
php中的钩子理解及应用实例分析
2019/08/30 PHP
laravel 框架实现无限级分类的方法示例
2019/10/31 PHP
qTip2 精致的基于jQuery提示信息插件
2012/02/17 Javascript
Javascript页面添加到收藏夹的简单方法
2013/08/07 Javascript
Jquery中国地图热点效果-鼠标经过弹出提示层信息的简单实例
2014/02/12 Javascript
提取jquery的ready()方法单独使用示例
2014/03/25 Javascript
jQuery实现ajax的叠加和停止(终止ajax请求)
2016/08/08 Javascript
jQuery中实现prop()函数控制多选框(全选,反选)
2016/08/19 Javascript
js Canvas绘制圆形时钟效果
2017/02/17 Javascript
elemetUi 组件--el-upload实现上传Excel文件的实例
2017/10/27 Javascript
JavaScript实现带有子菜单和控件的slider轮播图效果
2017/11/01 Javascript
jquery 实现拖动文件上传加载进度条功能
2018/03/18 jQuery
Vue.js 中的 v-show 指令及用法详解
2018/11/19 Javascript
[02:09]抵达西雅图!中国军团加油!
2014/07/07 DOTA
[09:34]2018DOTA2国际邀请赛寻真——永不放弃的iG
2018/08/14 DOTA
跟老齐学Python之有容乃大的list(3)
2014/09/15 Python
python中self原理实例分析
2015/04/30 Python
python生成excel的实例代码
2017/11/08 Python
python求最大值最小值方法总结
2019/06/25 Python
python 爬虫百度地图的信息界面的实现方法
2019/10/27 Python
Python操作Sqlite正确实现方法解析
2020/02/05 Python
Python3变量与基本数据类型用法实例分析
2020/02/14 Python
Python reversed函数及使用方法解析
2020/03/17 Python
css3media响应式布局实例
2016/07/08 HTML / CSS
英国最大的汽车交易网站:Auto Trader UK
2016/09/23 全球购物
如何从一个文件档案的尾端新增记录
2016/12/02 面试题
物理研修随笔感言
2014/02/14 职场文书
大学生创业项目方案
2014/03/08 职场文书
房屋租赁协议书
2014/04/10 职场文书
关于责任的演讲稿
2014/05/20 职场文书
承诺书范文
2014/06/03 职场文书
法人任命书范本
2014/06/04 职场文书
淘宝客服工作职责
2014/07/11 职场文书