1.Ucenter源码解析之--index.php
Ucenter源码解析之--index.php
安装ucenter后,源码输入域名默认加载index.php。解析若无参数输入,源码跳转至根目录的解析access 源码查看admin.php。此过程,源码$m与$a为接收参数,解析$m指示将实例化的源码类,$a指示调用的解析method。例如,源码$m=user,解析 $a=login,加载/control/user.php,源码在线注册源码实例化'usercontrol'类,解析执行'onlogin()'方法。源码
引入模型文件时,解析优先使用/release/下的源码文件,否则使用/model下的spring hibernate 源码文件。若$m与$a存在,动态调用特定方法。m主要包含app、frame、user等,pcshare源码编译对应/control下的文件。
加载对应的control文件,获取类名并实例化,调用方法前,判断类是rbac权限源码否存在该方法,优先尝试'on.$a'方法,若不存在,则使用_call($method)调用。
m实例化成相应对象,$a决定对应类的方法实现。测试$m=app, $a=add时,结果如右侧图。查阅/control/app.php下的'onadd()'方法,了解返回-1的原因。
index.php中addslash函数的运用,是安全措施之一,用于处理PHP6以上版本的变动。因php6废弃了MAGIC_QUOTES_GPC,服务器不再自动转义$_POST, $_GET, $COOKIE等客户端数据。因此,需要手动使用addslashes进行转义,确保单引号'、双引号",/等特殊字符不引发SQL注入问题。