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中使用Oracle数据库(6)
Oct 09 PHP
PHP脚本数据库功能详解(上)
Oct 09 PHP
Phpbean路由转发的php代码
Jan 10 PHP
PHP5.3的垃圾回收机制(动态存储分配方案)深入理解
Dec 10 PHP
ThinkPHP CURD方法之table方法详解
Jun 18 PHP
php中操作memcached缓存进行增删改查数据的实现代码
Aug 15 PHP
php中通过DirectoryIterator删除整个目录的方法
Mar 13 PHP
初识通用数据库操作类――前端easyui-datagrid,form(php)
Jul 31 PHP
ubuntu下配置nginx+php+mysql详解
Sep 10 PHP
今天你说520了吗?不仅有php表白书还有java表白神器
May 20 PHP
Laravel 5.4因特殊字段太长导致migrations报错的解决
Oct 22 PHP
laravel 事件/监听器实例代码
Apr 12 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使之能同时支持GIF和JPEG
2006/10/09 PHP
几道坑人的PHP面试题 试试看看你会不会也中招
2014/08/19 PHP
php实现图片以base64显示的方法
2016/10/13 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
2020/03/26 PHP
js 图片缩放(按比例)控制代码
2009/05/27 Javascript
javascript 延迟加载技术(lazyload)简单实现
2011/01/17 Javascript
JS分割字符串并放入数组的函数
2011/07/04 Javascript
jQuery:节点(插入,复制,替换,删除)操作
2013/03/04 Javascript
使用Node.js实现一个简单的FastCGI服务器实例
2014/06/09 Javascript
从setTimeout看js函数执行过程
2017/12/19 Javascript
微信小程序wx.uploadfile 本地文件转base64的实现代码
2018/06/28 Javascript
详解js模板引擎art template数组渲染的方法
2018/10/09 Javascript
vue使用laydate时间插件的方法
2018/11/14 Javascript
Nodejs对postgresql基本操作的封装方法
2019/02/20 NodeJs
vue.js 实现a标签href里添加参数
2019/11/12 Javascript
python 实现一个贴吧图片爬虫的示例
2017/10/12 Python
python with提前退出遇到的坑与解决方案
2018/01/05 Python
Python3.6基于正则实现的计算器示例【无优化简单注释版】
2018/06/14 Python
python实现时间o(1)的最小栈的实例代码
2018/07/23 Python
使用python3构建文件传输的方法
2019/02/13 Python
详细介绍pandas的DataFrame的append方法使用
2019/07/31 Python
python机器学习包mlxtend的安装和配置详解
2019/08/21 Python
python采集百度搜索结果带有特定URL的链接代码实例
2019/08/30 Python
Python字典添加,删除,查询等相关操作方法详解
2020/02/07 Python
Pycharm配置PyQt5环境的教程
2020/04/02 Python
Python实现网络聊天室的示例代码(支持多人聊天与私聊)
2021/01/27 Python
美国最大的珠宝商之一:Littman Jewelers
2016/11/13 全球购物
Funko官方商店:源自美国,畅销全球搪胶收藏玩偶
2018/09/15 全球购物
高三生物教学反思
2014/01/25 职场文书
房产转让协议书
2014/04/11 职场文书
梅花魂教学反思
2014/04/25 职场文书
总经理司机岗位职责
2015/04/10 职场文书
校园运动会广播稿
2015/08/19 职场文书
2017元旦晚会开幕词
2016/03/03 职场文书
CKAD认证中部署k8s并配置Calico插件
2022/03/31 Servers