热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

公共资源类的封装

<?php***公共资源类****classCommon{***通用的json返回数据*$codeint返回的错误码*$msgstrin
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];
}

}

 


推荐阅读
author-avatar
2012牛人
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有