PHP

PHP通用类说明


PHP通用类说明:

一般的通用类有2个 Common 类和 DBClass 类,Common类负责校验和页面跳转;DBClass 类负责数据库操作和分页;

原则:1)调DB前必须调Common验证$_REQUEST 防止注入; 2)DB 越晚打开,越早释放(由于自动释放,所以需要越晚打开)

Common 类常用方法:

Common::check_empty('siteNum,siteUName,siteUCode');  
//判断是否为空,每个表单名用','隔开;
 Common::check_num('id,siteNum'); //判断是否为数字
 Common::check_phone('siteMobile'); //判断是否为手机
 Common::check_IDCard('siteUCode'); //判读是否为身份证
Common::check_IP("sip");    //判断是否为IP
Common::check_email("uemail");    //判断是否为邮箱
Common::form_to_array('siteNum,siteUName,siteUCode‘); //表单变成数组,直接把$_REQUEST当数组也可以,一般可不用
Common::alert($str);    //失败警告后返回
Common::jump($str,$url); //弹出警告后跳转
Common::jump2($url); //不弹出警告跳转
Common::codePath(); //得到当前路径
Common::deCodePath($_REQUEST['selflink']);  //还原当前路径
Common::check_date('ctime1,ctime2'); //判断是否为时间

Common::substring($string, $sublen, $start = 0, $code = 'UTF-8');    ////中文字符函个数,$start


Check::IDCard(str);   //严格验证身份证
Check::datetime(str);
Check::phone($str);        //严格检测是否是手机
Check::mbphone($str);        //非严格检验是否是手机,只检验11位数字



DBClass 有2个类,一个是基础类,基本不会有问题,

还有一个是微官网后台的类,由于被以前的同事改造过,有些不一致;注意版本;

$db=FuncClass::dblink();
$db->pagesize=10;
$db->execute($sql); 
//执行SQL语句,可以执行任何SQL语句;
//备注:如果需要分页,不能执行嵌套有from的SQL语句。
//例如: select a.id,a.name,(select count(*) from b where b.vid=a.id) as cc where type>0    
//类似这种的多from的语句要做分页最好用视图,不做分页没关系;
while($rs=$db->fetch_array()){
        ....  //执行循环代码;
};



$db->autoExecute('buy_price',$rs1,'update',"id=$reid");
$db->showpage('mobile');  //得到移动版的分页;    
$db->showpage();  //PC版的分页 echo $db->strpage();  //得到分页的字符串
$db->getRow();        //得到单行


$db->ayinsert($tn,$ary);  //插入,返回最新的ID;

$db->ayupdate($tn,$ary,$where); //更新 

$db->getOne($sql);         //得到一个字段; 只有微官网的类才有 

 $db->getRow($sql);        //得到一行;只有微官网的类才有 
$db->getAll($sql);
echo $db->pageMobileIndex($url);  
//得到手机分页返回的分页文件字符串,做代码分离需要用到,其中$url 为分页的字符串,分页用 $$替换。
echo $db->pageindex($url);   
//$url也可不填,会自动获得。需要做伪静态的时候,可以赋值;
//得到分页字符串文件,做代码分离需要用到,其中$url 为分页的字符串,分页用 $$替换。

在微网站及OA的类中,FuncClass 类的常用方法:

$db=FuncClass::dblink();         //得到一个数据库连接;

FuncClass::debug();                //任何对象或变量,保存一个调试记录;

FuncClass::setkey($key,$value);    //保存一个键值对,可以用于快速配置;

FuncClass::getkey($key);            //得到一个键值对;

FuncClass::select($v,$ary);            //用于表单选择的赋值;

FuncClass::postwxdata($url,json_encode($ary)); //提交数据到微信服务器,第一个参数是地址,第2个参数是post内容
FuncClass::PostData($url,$post);    //直接Post数据到URL上。POST为数组,例如:$rs['id']=5; $rs['info']=2345;
FuncClass::domainUrl($GLOBALS['userid']);    //获得域名列表,传入userid; 
FuncClass::authcode($string, $operation = 'DECODE', $key = '', $expiry = 0); //加密

为什么要把sesson封装进函数呢?

就是为了分布式,如果是分布式服务器,session只存一台服务器的硬盘上,而其他没有,这样负载均衡后就挂了。

预留一个session接口为分布式做铺垫;只要改这个函数就可以把session放入中间层

FuncClass::session("id",$rs['id']);   //给session赋值;   只有一个参数就是读取session, 
FuncClass::session("authnum_session");    //读取session
FuncClass::session_destroy();


码圣代码编程

打字练习

3D创意C++

进入比赛

创客中心

关于傲亚

傲亚CMS

傲亚物联网

我要合作

创客平台

南昌市青山湖区恒茂梦时代7栋2303
aoyakefu
TEL:18720086320
kefu@1wwz.com

扫码关注公众号

扫码添加创始人

企业微信服务商