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('&', '"', '<', '>'), $string);
if(strpos($string, '&#') !== false) {
$string = preg_replace('/&((#(\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];
}
}