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 相关文章推荐
简单的过滤字符串中的HTML标记
Dec 25 PHP
理解和运用PHP中的多态性[译]
Aug 02 PHP
php setcookie(name, value, expires, path, domain, secure) 参数详解
Jun 28 PHP
php递归函数中使用return的注意事项
Jan 17 PHP
PHP实现的QQ空间g_tk加密算法
Jul 09 PHP
PHP使用stream_context_create()模拟POST/GET请求的方法
Apr 02 PHP
PHP读取大文件的几种方法介绍
Oct 27 PHP
PHP使用pdo连接access数据库并循环显示数据操作示例
Jun 05 PHP
PHP PDOStatement::getColumnMeta讲解
Feb 01 PHP
PHP常用函数之base64图片上传功能详解
Oct 21 PHP
Laravel重定向,a链接跳转,控制器跳转示例
Oct 22 PHP
php 防护xss,PHP的防御XSS注入的终极解决方案
Apr 01 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数组输出html表格的方法
2014/02/24 PHP
php实现文件下载简单示例(代码实现文件下载)
2014/03/10 PHP
ThinkPHP中RBAC类的四种用法分析
2014/11/24 PHP
phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法
2016/03/30 PHP
PHP实现四种基础排序算法的运行时间比较(推荐)
2016/08/11 PHP
javascript 避免闭包引发的问题
2009/03/17 Javascript
用JavaScript实现页面重定向功能的教程
2015/06/04 Javascript
用JS实现图片轮播效果代码(一)
2016/06/26 Javascript
深入理解javascript中的 “this”
2017/01/17 Javascript
详解nodejs微信公众号开发——2.自动回复
2017/04/10 NodeJs
使用jQuery.Pin垂直滚动时固定导航
2017/05/24 jQuery
vue单页应用加百度统计代码(亲测有效)
2018/01/31 Javascript
浅谈Javascript中的对象和继承
2019/04/19 Javascript
解决vue 单文件组件中样式加载问题
2019/04/24 Javascript
配置一个vue3.0项目的完整步骤
2019/04/26 Javascript
详解Vue的ref特性的使用
2020/01/24 Javascript
Vue常用传值方式、父传子、子传父及非父子实例分析
2020/02/24 Javascript
vue 动态创建组件的两种方法
2020/12/31 Vue.js
[53:23]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
Python中用PIL库批量给图片加上序号的教程
2015/05/06 Python
python中装饰器级连的使用方法示例
2017/09/29 Python
python正则表达式re之compile函数解析
2017/10/25 Python
对numpy中的数组条件筛选功能详解
2018/07/02 Python
django Serializer序列化使用方法详解
2018/10/16 Python
对python产生随机的二维数组实例详解
2018/12/13 Python
python3 实现口罩抽签的功能
2020/03/11 Python
Python结合百度语音识别实现实时翻译软件的实现
2021/01/18 Python
HTML5 3D旋转相册的实现示例
2019/12/03 HTML / CSS
IdealFit官方网站:女性蛋白质、补充剂和运动服装
2019/03/24 全球购物
临床医学专业毕业生的自我评价
2013/10/17 职场文书
酒店管理毕业生自荐信
2013/10/24 职场文书
四查四看自我剖析材料
2014/09/19 职场文书
行政二审代理词
2015/05/25 职场文书
在HTML5 localStorage中存储对象的示例代码
2021/04/21 Javascript
详解vue中v-for的key唯一性
2021/05/15 Vue.js
剧场版《转生恶役只好拔除破灭旗标》公开最新视觉图 2023年上映
2022/04/02 日漫