Amysql类 按照我的理解这就是框架的初始化

上代码

class Amysql {

    public $AmysqlProcess;

    public function Amysql()
{
global $Config;
ini_set("magic_quotes_runtime", false);
($Config['DebugPhp'] && error_reporting(E_ALL)) || error_reporting(0); // 是否报错
($Config['SessionStart'] && session_start()); // SESSION
(!empty($Config['CharSet']) && header('Content-type: text/html;charset=' . $Config['CharSet']));
} static public function AmysqlNotice($notice)
{
$AmysqlController = new AmysqlController();
$AmysqlController -> notice = $notice;
include(_Amysql . 'AmysqlNotice.php');
exit();
} static public function filter(&$array, $function)
{
if (!is_array($array)) Return $array = $function($array);
foreach ($array as $key => $value)
(is_array($value) && $array[$key] = Amysql::filter($value, $function)) || $array[$key] = $function($value);
Return $array;
}
}

这个类包含一个公有属性AmysqlProcess和包括构造函数Amysql在内的三个函数

一、Amysql():这个函数是本类的构造函数,其实按照现在的写法就是__construct()。

  ① magic_quotes_runtime:作用就是将外部引入的特殊字符[单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符)]加上反斜线给转移掉,但是这个在php5.3中已经废弃了,不太建议使用。

  ② error_reporting:设置PHP错误级别

    /*错误级别
    * fatal error致命错误:1
    * warning 警告错误:2
    * NOTICE 警告:8
    * 全部开启:11
    * 全部关闭:0
    */

  ③ 说明一下&& || 的写法,&&是要求这个标识符前后都得是真,||表示它的前后有一个是真就可以。

    当$Config['DebugPhp']为真的时候那么&&就会继续执行error_reporting(E_ALL),将错误级别设置成显示所有错误,又有||前面的已经执行,那么后面的就不会再执行了。当$Config['DebugPhp']为假的时候||前面的为假,所以就会执行后面的error_reporting(0)将错误显示级别设置成不显示错误。

二、AmysqlNotice():这个函数的作用就是显示错误提示

  ①在这里面使用AmysqlController类创建的对象AmysqlController并没有发现它有什么卵用。。

  ②引入一个外部的文件,AmysqlNotice.php,这个文件里面是一段HTML代码,用于显示错误提示,后面的exit是用来在错误提示输出后停止脚本运行。

  下面是错误提示的HTML代码,也没有什么分析的~O(∩_∩)O哈哈~  

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
body {margin: 0px;}
#confirm {background:rgba(125,125,125,0.4);filter:progid:DXImageTransform.Microsoft.Gradient(startColorstr=#40000000, endColorstr=#40000000);width:500px;margin:30px auto 0px auto;border:solid 1px #666;border-radius:3px;}
#confirm #inside {background:#FFFFFF;margin:5px;height:230px;border-radius:3px;}
#confirm #inside h1 {margin: 0px;font-family: Verdana, Geneva;font-size: 13px;padding:5px 10px;background-color: #f0f0f0;border:solid 1px #ddd;display: block;}
#confirm #inside #content {width: 300px;margin:25px auto 0px auto;line-height: 30px;font-size: 15px;font-family: Verdana, Geneva, sans-serif;}
</style>
</head>
<body>
<div id="confirm">
<div id="inside">
<h1>错误提示</h1>
<div id="content"><center><?php echo $notice ?></center></div>
</div>
</div>
</body>
</html>

三、filter(&$array, $function):这个函数的作用就是使用$function这个变量所代表的的函数将$array这个变量代表的值给进行转换。

  比如:

Amysql::filter($_GET, 'addslashes')

  这句代码就是使用addslashes()将$_GET变量的值进行转义。这个函数在内部将$array按照是否为数组来检测是否进行递归调用自己来进一步转换。

此上就是对Amysql类的分析,下一节将继续讲述AmysqlProcess总进程对象类

最新文章

  1. js求时间差
  2. easyui使用datagrid时列名包含特殊字符导致表头与数据错位的问题
  3. Web服务器Nginx多方位优化策略
  4. BZOJ1087状压DP 解题报告
  5. JSP下载txt 和 Excel两种文件
  6. 动画原理——脉动(膨胀缩小)&amp;&amp;无规则运动
  7. oracle dataguard 角色切换
  8. 12 - 多线程、执行队列、GCD
  9. soapui工具使用时400 Bad Request
  10. multisim&amp;proteus&amp;protel比较
  11. 七、Python-正则表达式
  12. 第一个微信小程序踩的几个小坑
  13. [5]windows内核情景分析---进程线程
  14. 程序猿的日常——Mybatis现学现卖
  15. NO.3:自学tensorflow之路------MNIST识别,神经网络拓展
  16. linux 各项配置汇总
  17. Day6 重载构造
  18. spring boot 重定向
  19. (并查集 带关系)Find them, Catch them -- poj -- 1703
  20. Ubuntu修改桌面为Desktop

热门文章

  1. 神秘常量复出!用0x077CB531计算末尾0的个数 -- De Bruijn 序列
  2. 我的javascript学习之路(一)对象之基础
  3. Codeforces Round #342 (Div. 2) B. War of the Corporations 贪心
  4. BZOJ 1053: [HAOI2007]反素数ant dfs
  5. eclipse内存溢出报错:java.lang.OutOfMemoryError:Java heap space
  6. Flex4+Spring3+Hibernate3+BlazeDS整合笔记
  7. JavaScript目录
  8. [Tips]解决HG之waiting for lock on repository
  9. hadoop2 作业执行过程之reduce过程
  10. 3.1html学习之列表