关于thinkphp开发的几种规范(仅限个人)
一、只要设计到where查询语句,无论是增删改查
$cn[‘username‘] = session(‘member.username‘); $cn[‘itemid‘] = $itemid; $item = M(‘Buy‘)->where($cn)->find();
或者
$cn = array(session(‘member.username‘),‘2‘,‘_multi‘=>true); $list = M(‘FinanceRecord‘)->where($cn)->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下
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。