ThinkPHP中数据操作案例分析


Posted in PHP onSeptember 27, 2015

本文实例分析了ThinkPHP中数据操作方法。分享给大家供大家参考。具体如下:

模板中使用函数,相信大部分的TPer都知道也用过吧。

案例:

获取用户名的方法

function get_username($uid){
  $row = M('User')->getbyUid($uid);
  return $row['username'];
}

在模板中通过uid显示用户名

<volist name="rows" id="row">
<tr>
  <td>{$row.uid}</td>
  <td>{$row.uid|get_username}</td>
</tr>
</volist>

这种方法相信大伙应该很常用吧?这种用法有两个不好的地方:

1、过多数据库操作;
2、数据操作的位置不合理,数据库连接过长。

优化方案:

1、尽可能把能合并的数据库操作;
2、数据操作应该保留在数据层,尽可能避免在视图里操作数据库,建议在视图开始前执行mysql_close(),断开数据库连接。

希望本文所述对大家基于ThinkPHP的php程序设计有所帮助。

PHP 相关文章推荐
浅谈PHP强制类型转换,慎用!
Jun 06 PHP
解析htaccess伪静态的规则
Jun 18 PHP
thinkphp实现上一篇与下一篇的方法
Dec 08 PHP
PHP实现将浏览历史页面网址保存到cookie的方法
Jan 26 PHP
php中return的用法实例分析
Feb 28 PHP
Yii2语言国际化的配置教程
Aug 19 PHP
在Laravel 的 Blade 模版中实现定义变量
Oct 14 PHP
laravel 之 Eloquent 模型修改器和序列化示例
Oct 17 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
Nov 26 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
Mar 26 PHP
Laravel框架使用技巧之使用url()全局函数返回前一个页面的地址方法详解
Apr 06 PHP
实例化php类时传参的方法分析
Jun 05 PHP
PHP中两个float(浮点数)比较实例分析
Sep 27 #PHP
用php代码限制国内IP访问我们网站
Sep 26 #PHP
十大使用PHP框架的理由
Sep 26 #PHP
PHP弹出对话框技巧详细解读
Sep 26 #PHP
ThinkPHP2.x防范XSS跨站攻击的方法
Sep 25 #PHP
ThinkPHP在Cli模式下使用模板引擎的方法
Sep 25 #PHP
腾讯CMEM的PHP扩展编译安装方法
Sep 25 #PHP
You might like
PHP也能干大事之PHP中的编码解码详解
2015/04/20 PHP
初识PHP中的Swoole
2016/04/05 PHP
js动态加载以及确定加载完成的代码
2011/07/31 Javascript
jQuery-Tools-overlay 使用介绍
2012/07/14 Javascript
删除select中所有option选项jquery代码
2013/08/12 Javascript
javascript实现在某个元素上阻止鼠标右键事件的方法和实例
2014/08/12 Javascript
JQuery插件jcarousellite的参数中文说明
2015/05/11 Javascript
jQuery插件Validation快速完成表单验证的方式
2016/07/28 Javascript
IE8利用自带的setCapture和releaseCapture解决iframe的拖拽事件方法
2016/10/25 Javascript
预防网页挂马的方法总结
2016/11/03 Javascript
javascript工厂模式和构造函数模式创建对象方法解析
2016/12/30 Javascript
JavaScript判断日期时间差的实例代码
2018/03/01 Javascript
解决Angular4项目部署到服务器上刷新404的问题
2018/08/31 Javascript
在Vue项目中取消ESLint代码检测的步骤讲解
2019/01/27 Javascript
jQuery对底部导航进行跳转并高亮显示的实例代码
2019/04/23 jQuery
微信小程序 弹窗输入组件的实现解析
2019/08/12 Javascript
Vue element-ui父组件控制子组件的表单校验操作
2020/07/17 Javascript
[01:00:54]TI4正赛第二日开场
2014/07/20 DOTA
[01:03:13]VG vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python计算圆周长、面积、球体体积并画出圆
2014/04/08 Python
在Django的模型和公用函数中使用惰性翻译对象
2015/07/27 Python
Python 装饰器使用详解
2017/07/29 Python
python协程之动态添加任务的方法
2019/02/19 Python
如何关掉pycharm中的python console(图解)
2019/10/31 Python
Python实现随机生成任意数量车牌号
2020/01/21 Python
Python打包工具PyInstaller的安装与pycharm配置支持PyInstaller详细方法
2020/02/27 Python
python tkinter之顶层菜单、弹出菜单实例
2020/03/04 Python
Python多分支if语句的使用
2020/09/03 Python
html5定制表单_动力节点Java学院整理
2017/07/11 HTML / CSS
Farnell德国:电子元器件供应商
2018/07/10 全球购物
《童年的发现》教学反思
2014/02/14 职场文书
对公司合理化的建议书
2014/03/12 职场文书
爱我中华演讲稿
2014/05/20 职场文书
大学生学雷锋活动总结
2014/06/26 职场文书
vue选项卡切换的实现案例
2022/04/11 Vue.js
吉利入股戴姆勒后smart“长大了”
2022/04/21 数码科技