公共资源类的封装

<?php
/***公共资源类****/
class Common {
    /**
    * 通用的json返回数据
    * $code int  返回的错误码
    * $msg  string 返回的错误信息
    * $data array 返回的数组
    */
    public static function EchoResult($code = 0 , $msg = ‘‘ , $data = array() ){
        $result = array(
            ‘code‘ => $code ,
            ‘msg‘ => $msg ,
            ‘data‘ => $data
        );
        echo json_encode($result ,  JSON_UNESCAPED_UNICODE);
        exit;
    }
    /**
    * 处理form 提交的参数过滤
    * $string   string  需要处理的字符串或者数组
    * @return   string 返回处理之后的字符串或者数组
    */
    public static function Dtrim($string){
        if(is_array($string)) {
            $keys = array_keys($string);
            foreach($keys as $key) {
                $val = $string[$key];
                unset($string[$key]);
                $string[trim($key)] = self::Dtrim($val);
            }
        } else {
            $string = trim($string);
        }
        return $string;
    }
    /**
    * 处理form 提交的参数过滤
    * $string   string  需要处理的字符串或者数组
    * $force    boolean  强制进行处理
    * @return   string 返回处理之后的字符串或者数组
    */
    public static function Daddslashes($string, $force = 1) {
        if(is_array($string)) {
            $keys = array_keys($string);
            foreach($keys as $key) {
                $val = $string[$key];
                unset($string[$key]);
                $string[addslashes($key)] = self::daddslashes($val, $force);
            }
        } else {
            $string = addslashes($string);
        }
        return $string;
    }
    //请参考php内置的方法 htmlspecialchars
    public static function Dhtmlspecialchars($string, $flags = ENT_COMPAT) {
        if(is_array($string)) {
            foreach($string as $key => $val) {
                $string[$key] = self::dhtmlspecialchars($val, $flags);
            }
        } else {
            if($flags === null) {
                $string = str_replace(array(‘&‘, ‘"‘, ‘<‘, ‘>‘), array(‘&amp;‘, ‘&quot;‘, ‘&lt;‘, ‘&gt;‘), $string);
                if(strpos($string, ‘&amp;#‘) !== false) {
                    $string = preg_replace(‘/&amp;((#(\d{3,5}|x[a-fA-F0-9]{4}));)/‘, ‘&\\1‘, $string);
                }
            } else {
                if(PHP_VERSION < ‘5.4.0‘) {
                    $string = htmlspecialchars($string, $flags);
                } else {
                    $charset = ‘UTF-8‘;
                    $string = htmlspecialchars($string, $flags, $charset);
                }
            }
        }
        return $string;
    }
    //请参考 php 内置方法 stripslashes
    public static function Dstripslashes($string) {
        if(empty($string)) return $string;
        if(is_array($string)) {
            foreach($string as $key => $val) {
                $string[$key] = self::dstripslashes($val);
            }
        } else {
            $string = stripslashes($string);
        }
        return $string;
    }
    /*
    *   函数名称:VerifyId()
    *   函数作用:校验提交的ID类值是否合法
    *   参  数:$id: 提交的ID值
    *   返 回 值:返回处理后的ID
    *
    */
    public static function VerifyId($id=null) {
        if (!$id) {
            return 0;
        } // 是否为空判断
        elseif (self::inject_check($id)) {
            return 0;
        } // 注射判断
        elseif (!is_numeric($id)) {
            return 0 ;
        } // 数字判断
        $id = intval($id); // 整型化
        return $id;
    }
    /*
     *检测提交的值是不是含有SQL注射的字符,防止注射,保护服务器安全
    *参  数:$sql_str: 提交的变量
    *返 回 值:返回检测结果,ture or false
    */
    public static function InjectCheck($sql_str) {
        return @eregi(‘select|insert|and|or|update|delete|\‘|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile‘, $sql_str); // 进行过滤
    }
    /**
     * 导入文件并且进行实例化 ,默认导入的是business这个文件夹下面的文件
     * $filename       string $layer 模型层名称
     * return object
     */
    public static function ImportBusiness($name = null  ){
        $layer = "business";
        $class=$name.ucfirst($layer);
        static $_obj=array();
        if(isset($_obj[$name])){
            return $_obj[$name];
        }
        if(!file_exists(APP_PATH."/application/{$layer}/{$class}.php")){
            exit("file {$class}.php is not exists ");
        }
        Yaf_loader::import(APP_PATH."/application/business/{$class}.php");//导入类库(业务逻辑类库之类的)
        $_obj[$name] = new $class();
        return $_obj[$name];
    }    

    /**
     * 导入文件并且进行实例化 ,默认导入的是business这个文件夹下面的文件
     * $filename       string $layer 模型层名称
     * return object
     */
    public static function ImportmodulesBusiness($name = null,$modules = null  ){
        $layer = "business";
        $class=$name.ucfirst($layer);
        static $_obj=array();
        if(isset($_obj[$name])){
            return $_obj[$name];
        }
        if(!file_exists(APP_PATH."/application/modules/{$modules}/{$layer}/{$class}.php")){
            exit("file {$class}.php is not exists ");
        }
        Yaf_loader::import(APP_PATH."/application/modules/{$modules}/business/{$class}.php");//导入类库(业务逻辑类库之类的)
        $_obj[$name] = new $class();
        return $_obj[$name];
    }        

}
时间: 2024-08-16 01:19:33

公共资源类的封装的相关文章

类和封装的概念

类和封装的概念 什么是类? 电脑一般而言是由CPU,内存,主板,键盘和硬盘等部件组合而成. 思考:学习电脑组装需要多少时间?学习电脑组装是都需要学习显示器,键盘,鼠标,主板等部件的设计与制造? 类的封装 我们可以把程序按某种规则分成很多"块",类与类之间可能会有联系,每个类都有一个可变部分(public)和一个不可变部分(private).我们需要把可变部分和不可变部分分离出来,将不可变的部分暴露给其他类,而将可变的部分隐藏起来,以便于随时可以让它修改.这项工作就是封装. 类分为以下两

022医疗项目-模块二:药品目录的导入导出-对XSSF导出excel类进行封装

资源全部来源于传智播客. 好的架构师写的程序,就算给刚入门的新手看,新手一看就知道怎么去用.所以我们要对XSSF导出excel类进行封装.这是架构师的工作,但我们也要知道. 我们写一个封装类: 这个类单独有自己的main函数. 我们进入main函数一步一步看: public static void main(String[] args) throws Exception { /** 导出文件存放物理路径 * @param fileWebPath * 导出文件web下载路径 * @param fi

数据访问类的封装与三大类

数据访问类的封装: 数据访问类分为三大类:连接类,实体类,数据访问类. 1.连接类: public class lianjie { private static string connection="server=.;database=mydb;uid=sa;pwd=789234178"; public static Sqlconnection conn { get { SqlConnection conn=new Sqlconnection(connecction); return

模块的封装之C语言类的封装

[微知识]模块的封装(一):C语言类的封装 是的,你没有看错,我们要讨论的是C语言而不是C++语言中类的封装.在展开知识点之前,我首先要 重申两点: 1.面向对象是一种思想,基本与所用的语言是无关的.当你心怀面向对象时,即使使用QBasic也能写 出符合面向对象思想的代码,更不要说C语言了.举一个反例,很多人初学C++的时候,并没有掌 握面向对象的思想,活生生的把类当结构体来使用的也不在少数吧. 2.面向对象的最基本的出发点是“将数据以及处理数据的方法封装在一起”,至于继承.派生.多态之类 的则

OC第一个思想 类的封装

一:对象方法和类方法 对象方法: 1)'-' 开头 2)可以访问实例变量 3)可以调用类方法 4)可以调用自己和其他对象的方法(调用其他对象方法,要作为参数传递过来) 5)由对象调用 类方法: 1)'+' 开头 2)不可以访问实例变量 在一个类方法中不能访问实例变量,因为实例变量还没有分配内存,初始化,也可以说还没有实例变量,原因是还没有对象 3)类方法可以调用其他的类方法 4)类方法不可以用对象调用 5)类方法,可以调用对象方法(把对象作为方法参数传递过来) 6)类方法中不可以再调用当前方法(

详细解读PHP类的封装

[导读] public:方法或者属性在任何作用域都可以访问到,而且这是默认的,如果没有为一个属性或方法指定访问修饰符,它将是public.protected:方法或者属性只能从类或者继承类的一个成员中访问到.private:方法或者属 public:方法或者属性在任何作用域都可以访问到,而且这是默认的,如果没有为一个属性或方法指定访问修饰符,它将是public. protected:方法或者属性只能从类或者继承类的一个成员中访问到. private:方法或者属性只能从类的一个成员中访问到,而且无

创造自己的群集类型----之----创建“包装”类以封装预定义集群类型

第一步:创建"包装"类以封装预定义集群类型 public class EncapsulatePredefinedCluster { private ArrayList students; public EncapsulatePredefinedCluster() { students = new ArrayList(5); } /// <summary> /// 注册新生 /// </summary> /// <param name="s&quo

iOS开发--QQ音乐练习,旋转动画的实现,音乐工具类的封装,定时器的使用技巧,SliderBar的事件处理

一.旋转动画的实现 二.音乐工具类的封装 -- 返回所有歌曲,返回当前播放歌曲,设置当前播放歌曲,返回下一首歌曲,返回上一首歌曲方法的实现 头文件 .m文件 1 #import "ChaosMusicTool.h" 2 #import "MJExtension.h" 3 #import "ChaosMusic.h" 4 5 static NSArray *_musics; 6 static ChaosMusic *_playingMusic; 7

字符串获取类、封装检测数字的方法

1.charAt()方法: 从整个字符串中找到某子字符,即返回指定位置的字符.charAt(str.length).里面的数字最大为字符串长度减一 eg:stringObject.charAt(index):如果参数 index 不在 0 与 string.length 之间,该方法将返回一个空字符串 var str = '妙味课堂'; var str = '妙味课堂'; // alert( str.length ); // alert( str.charAt() ); //默认为第0个 //