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新手上路(十)
Oct 09 PHP
PHP 事务处理数据实现代码
May 13 PHP
php 智能404跳转代码,适合换域名没改变目录的网站
Jun 04 PHP
php中curl、fsocket、file_get_content三个函数的使用比较
May 09 PHP
你应该知道PHP浮点数知识
May 13 PHP
php判断linux下程序问题实例
Jul 09 PHP
CI框架简单邮件发送类实例
May 18 PHP
php中序列化与反序列化详解
Feb 13 PHP
PHP容器类的两种实现方式示例
Jul 24 PHP
PHP常用header头定义代码示例汇总
Aug 29 PHP
如何用PHP websocket实现网页实时聊天
May 26 PHP
Linux系统下安装PHP7.3版本
Jun 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
dedecms后台验证码总提示错误的解决方法
2007/03/21 PHP
PHP输入流php://input实例讲解
2015/12/22 PHP
PHP Static延迟静态绑定用法分析
2016/03/16 PHP
关于使用runtimeStyle属性问题讨论文章
2007/03/08 Javascript
JS面向对象编程 for Cookie
2010/09/19 Javascript
JavaScript实现的encode64加密算法实例分析
2015/04/15 Javascript
JS实现CheckBox复选框全选全不选功能
2015/05/06 Javascript
js代码验证手机号码和电话号码是否合法
2015/07/30 Javascript
不想让浏览器运行javascript脚本的方法
2015/11/20 Javascript
bootstrap modal弹出框的垂直居中
2016/12/14 Javascript
详解VueJs前后端分离跨域问题
2017/05/24 Javascript
JS实现微信里判断页面是否被分享成功的方法
2017/06/06 Javascript
第一个Vue插件从封装到发布
2017/11/22 Javascript
vue.js实现的绑定class操作示例
2018/07/06 Javascript
详解angular应用容器化部署
2018/08/14 Javascript
vue form 表单提交后刷新页面的方法
2018/09/04 Javascript
移动端图片上传旋转、压缩问题的方法
2018/10/16 Javascript
vue+element 模态框表格形式的可编辑表单实现
2019/06/07 Javascript
urllib2自定义opener详解
2014/02/07 Python
Python实现简单的四则运算计算器
2016/11/02 Python
手把手教你python实现SVM算法
2017/12/27 Python
对python的文件内注释 help注释方法
2018/05/23 Python
通过Python扫描代码关键字并进行预警的实现方法
2020/05/24 Python
HTML5如何使用SVG的方法示例
2019/01/11 HTML / CSS
世界顶级俱乐部的官方球衣和套装:Subside Sports
2018/04/22 全球购物
七年级数学教学反思
2014/01/22 职场文书
应届中专生自荐书范文
2014/02/13 职场文书
《两个铁球同时着地》教学反思
2014/02/13 职场文书
承诺书模板
2014/08/30 职场文书
授权委托书
2014/09/17 职场文书
学期个人自我总结
2015/02/13 职场文书
劳动保障事务所个人工作总结
2015/08/12 职场文书
2015年十月一日放假通知
2015/08/18 职场文书
Python网络编程之ZeroMQ知识总结
2021/04/25 Python
python保存大型 .mat 数据文件报错超出 IO 限制的操作
2021/05/10 Python
进阶篇之linux环境下安装MySQL数据库
2022/04/09 MySQL