一、只要设计到where查询语句,无论是增删改查

$cn['username'] = session('member.username');
$cn['itemid'] = $itemid;
$item = M('Buy')->where($cn)->find();

或者

$cn['username&status'] = array(session('member.username'),'2','_multi'=>true);
$list = M('FinanceRecord')->where($cn)->order('recordid desc')->select();

a.小于两个或者两个用下边的!超过2个用上边的。
b.这里有个小东西,就是list是列表,即select() 而,item是对象,即find();
c.还有$cn请记住这种写法!

二、关于保存和添加

$ds['moneyremain'] = 0.00;
$ds['status'] = 4;
$ds['edittime'] = NOW_TIME;
$step2 = M('Buy')->where($cn)->save($ds);//添加为add($ds),当然无where

如果是批量添加,则必须用批量方式进行添加

$ds[] = array(
'usernameout'=>$usernameout,
'usernamein'=>$usernamein,
'money'=>$money,
'moneypre'=>M('Member')->where('username=\''.$usernameout.'\'')->getField('money'),
'addtime'=>NOW_TIME,
'ip'=>get_client_ip(),
'typeid'=>$typeid,
'catid'=> $catid,//资金流向
'itemid'=>$itemid,
'title'=>$cats[$catid].':'.$types[$typeid],
'status'=>2,
'paytime'=>NOW_TIME,
);
$ds[] = array(
'usernameout'=>$usernameout,
'usernamein'=>$usernamein,
'money'=>$money,
'moneypre'=>M('Member')->where('username=\''.$usernameout.'\'')->getField('money'),
'addtime'=>NOW_TIME,
'ip'=>get_client_ip(),
'typeid'=>$typeid,
'catid'=> $catid,//资金流向
'itemid'=>$itemid,
'title'=>$cats[$catid].':'.$types[$typeid],
'status'=>2,
'paytime'=>NOW_TIME,
);

M('FinancePay')->addAll($ds);

 

三、关于另一种保存(更新一个字段或者两个字段,多了用上边那个)

M('Order')->where($cn)->setField(array('status'=>2, 'paytime'=>NOW_TIME));

四、关于搜索页面小技巧

前台页面搜索字段为

status=0(所有),status=1,status=2

catid=0(所有),catid=1,catid=2

typeid=0(所有),typeid=1,typeid=2

...

后台处理,get提交

$cn = cn(array('status','catid','typeid'));//如果以后还有其他字段还可以添加
$cn['username'] = session('member.username');
$list = M('FinancePay')->where($cn)->order('payid desc')->page($p.',10')->select();
if($list) { foreach($list as $k => $item) {
$list[$k]['dstatus'] = $clang_status[$item['status']];
} }

其中cn函数为

function cn($item) {
$cn = array();
foreach($item as $value) {
$cn[$value] = I('get.'.$value);
if(!I('get.'.$value)) unset($cn[$value]);
}
return $cn;
}

五、关于安全

尽量用数组方式和I()函数,暂时用这两个就可以搞定sql注入问题了

六、T(..)函数的作用是输出前台include的真实路径,有的时候模版找不到,可以用这个输出

七、语言类配置文件

尽量放到一个lang下

关于thinkphp开发的几种规范(仅限个人)的更多相关文章

  1. 从" ThinkPHP 开发规范 "看 PHP 的命名规范和开发建议

    稍稍水一篇博客,摘抄自Think PHP 的开发规范,很有引导性,我们可以将这些规范实践到原生 PHP 中. 命名规范 使用ThinkPHP开发的过程中应该尽量遵循下列命名规范: 类文件都是以.cla ...

  2. 【转载】在 2016 年做 PHP 开发是一种什么样的体验?(一)

    转自:https://www.v2ex.com/t/312651 在 2016 年做 PHP 开发是一种什么样的体验?(一) 嘿,我最近接到一个网站开发的项目,不过老实说,我这两年没怎么接触编程,听说 ...

  3. thinkphp开发技巧经验分享

    thinkphp开发技巧经验分享 www.111cn.net 编辑:flyfox 来源:转载 这里我给大家总结一个朋友学习thinkphp时的一些笔记了,从变量到内置模板引擎及系统变量等等的笔记了,同 ...

  4. 【转】在 2016 年做 PHP 开发是一种什么样的体验?(一)

    原文: https://www.v2ex.com/t/312651 在 2016 年做 PHP 开发是一种什么样的体验?(一) 嘿,我最近接到一个网站开发的项目,不过老实说,我这两年没怎么接触编程,听 ...

  5. 使用ThinkPHP开发中MySQL性能优化的最佳21条经验

    使用ThinkPHP开发中MySQL性能优化的最佳21条经验讲解,目前,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更 ...

  6. 【java 理论篇 2】J2EE的13种规范

    导读:看完了J2EE的视频,没有什么技术实践,现在就从理论上说明一下J2EE的13种规范,以及现在的自己对它的一个理解.可能会有偏差,但是,算是做为目前的一个记录. 一.13种规范 1.1.JDBC( ...

  7. iOS开发UI篇—iOS开发中三种简单的动画设置

    iOS开发UI篇—iOS开发中三种简单的动画设置 [在ios开发中,动画是廉价的] 一.首尾式动画 代码示例: // beginAnimations表示此后的代码要“参与到”动画中 [UIView b ...

  8. HUDSON(Java开发的一种持续集成工具)

    Hudson是Jenkins的前身,是基于Java开发的一种持续集成工具,用于监控程序重复的工作,包括: 1.持续的软件版本发布/测试项目. 2.监控外部调用执行的工作. Hudson的特性 1.易于 ...

  9. 关于thinkphp 开发的网站部署问题

    公司一个网站用thinkphp 开发的,由wamp环境移植到lamp环境 出现错误.提示无法生成缓存文件. 原因是thinkphp 的一些目录需要重新生成,所以将一个新的thinkphp 核心包应用后 ...

随机推荐

  1. 安装配置LDAP遇到的问题

    问题1:安装完启动ldap服务报错: ldap: unrecognized service? 原因在于新版的openldap将服务名改为了slapd,使用service slapd start即可启动 ...

  2. C Primer Plus_第5章_运算符、表达式和语句_编程练习

    Practice 1. 输入分钟输出对应的小时和分钟. #include #define MIN_PER_H 60 int main(void) { int mins, hours, minutes; ...

  3. tp5 中 model 的更新方法

    // 过滤非数据表字段更新 public function update(Request $request){ $user = model('User'); $result = $user -> ...

  4. 同步异步,阻塞非阻塞 和nginx的IO模型

    同步与异步 同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication).所谓同步,就是在发出一个*调用*时,在没有得 ...

  5. [转]字符编码笔记:ASCII,Unicode和UTF-8

    转自:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html 作者: 阮一峰 日期: 2007年10月28日 今天中午, ...

  6. ASP.NET知识总结(2.对比Get和Post提交方式)

    2.对比Get和Post提交方式 get:<1>在地址栏中通过?key1=value1&key2=value2...的方式传值 <2>传递的数据用户可以直接在url中看 ...

  7. Win10 UWP vs add github

    vs github 插件 教程 官方教程 点击查看存储库,跳转到 DemoHttp for github

  8. [译]:Orchard入门——使用WebMatrix管理Orchard网站

    原文链接:Working with Orchard in WebMatrix WebMatrix--微软一站式Web开发工具,包括网站的创建.编辑以及发布--不过现在微软更推荐VS code .Web ...

  9. Redis学习笔记(3) Redis基础类型及命令之二

    1. 集合类型 集合类型与列表类型有很多相似之处,但二者的区别在于:前者具有唯一性,但不具有有序性:后者具有有序性,但不具有唯一性.集合类型的常用操作是向集合中加入或删除元素.判断某个元素是否存在等, ...

  10. 【转载】科研ppt制作的体会

    转载自实验室陈家雷学长发在bbs 上的帖子,讲解了自己制作ppt的心得体会.学习下. 附件中是我昨天晚上我的组会ppt的pdf版本,另外我对ppt的制作有点自己的理解,基本上都是去年暑假在Harvar ...