上一篇我们分析到了 文件的 。今天我们继续。
来到了引入 这样,也许你会很奇怪,找不到这个目录呢?不要忘了我们上面设置了好几个引入路径,所以我们要一个个的查找,最后我们会在 目录下,找到 。你看用这种方法引入,找文件都不好弄。所以命名空间什么的才会愈发的重要, 这种引入的方案也会逐渐减少使用。
紧接着执行 这行代码的方法就在刚才我们引入的文件中,我们进入这个方法。
先看 这段,这块在php5.4 以后永远都返回 false 了,所以这段在5.4 以后不会执行。如果是老版本呢,这块的处理就是把一些转义带有反斜线的字符给恢复过来,变成原始的内容。
然后剩下的部分就是注册自动加载,和异常处理函数了。自动加载可以看我上一篇文章,然后自己理解一下。
异常处理部分,就是根据是否是 两种输出模式。
这个会在初始化的时候我们再说。
如果没有 exceptionHandle 的时候会调用 方法,进行错误输出,并且记录
到这里 方法已经执行完了,我们回到 文件继续往下看。
这块就是挡掉跨域攻击,比如 iframe 的嵌套页面,为了安全,我们会判断 如果跟请求的 不一致就阻挡掉
设置版本,设置语言,顺便把语言写入到 中。
剩下的部分就都是安装流程了,我们慢慢拆分来看。
先说 安装文件 最后的部分
因为这两个文件都因为开头
由于没有定义那个常量而退出了,所以这两个部分都在我们用到的时候再说。
这块就是根据 的参数状态决定显示的问题 和 都是 一个是翻译并 另一个是翻译。
注意哦, 这个状态,在正常状态时看不到的哦,只有失败才会看得到。
显示一些说明文件,如果语言配置有多个,那么就出现语言选择列表框,不过默认就只有一个简体中文。然后点击下一步以后会跳转到当前 ,增加 参数。
点击下一步以后我们就进入到了配置的步骤,当我们输入完相关数据参数,以及管理员信息以后点击下一步,会 方法跳转到当前 网址。这里有个主要注意的地方是,当我们改变数据库的适配器以后,会跳转到切换相应的数据库适配器配置页面。而且会在页面加载的时候判定支持什么数据。这两段在下面的代码中
不同的适配器会加载不同的数据库配置页面,我们这边用的是 ,我们进入 页面,里面有很多环境的判断 sae、gae、bae 什么的判定。这些我们都跳过,直接看下面。
这块就是我们显示配置的位置哟。
我们填写完配置信息以后, 提交当前页面,进入各种判定的部分。
这部分会进行一些判定相关的东西。不符合规范的会进行报错 注意这块,我们后面再说。
这块是获取数据库连接配置,然后对数据库进行连接,数据库相关的代码是 自己的封装的,大家可以自己看一下,很厉害。如果连接失败,会进行报错。
如果成功了,就重置数据库相关信息,这块应该是应对重复安装的。然后 写入数据库配置信息
注意下面这段
这段什么意思?我们后面再说
这段就写入配置文件了。
如果写入文件失败了,就会跳转到当前页面了并且携带 参数,就应对上一步的判定了。如果写入成功了,就跳转到 。
安装失败了,就删除文件。
这一步就到了比较关键的一步了。
这块就应对上前面说得了,如果包含了配置文件,就会链接数据库,并且查询是否已安装了,如果已安装了就报错 。
如果没有连接 就报错。
如果一切顺利就执行创建数据库,初始化配置文件。如果失败了就报错安装失败,如果成功了,就跳转到,安装成功。
上面说的看不到 安装过程 页面就是因为太快了,所以就一闪而过了,上面表述的不清楚,这里在说明一下。
这块就是在异常的时候如果数据库存在,的判断过程。删库或者使用原有数据库,然后等我们决策后,在决定安装流程。