码迷,mamicode.com
首页 > Web开发 > 详细

关于thinkphp开发的几种规范(仅限个人)

时间:2015-02-14 23:45:05      阅读:339      评论:0      收藏:0      [点我收藏+]

标签:

一、只要设计到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下

 

关于thinkphp开发的几种规范(仅限个人)

标签:

原文地址:http://www.cnblogs.com/zhangdadan/p/4292202.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!