文章分页:
核心扩展 - 1
每个应用代码内部均可以直接调用系统核心控制类实例 $mystep(别名为$M) ,进而通过核心类所提供的各类方法实现迅捷开发。但是,由于每个应用的不同情况,默认所提供的功能可能有所偏差或不能满足。针对这个需求,框架提供了核心扩展的功能,方式很简单,就是在应用目录下建立一个与应用目录同名的 class.php 脚本(如应用目录名为test,则脚本文件名为 test.class.php),文件中声明一个与目录同名且扩展自myStep的类,通过此类对原有功能进行重写或扩展。
除重新已有方法之外,还有两个重要方法可以建立并实现个性化需要:
- $mystep->preload() - 于载入所有配置信息之后,核心类启动方法($mystep->start())运行之前执行,可用于预先调整相关参数
- $mystep->shutdown() - 于核心类所注册的所有收尾钩子程序运行之后执行,可用于对相关框架变量和系统运行结果参数的处理和分析
示例如下:
<?PHP
class test extends myStep {
public static $log = '';
//登录
public function login(&$usr='', $pwd='') {
return parent::login($usr, $pwd);
}
//登出
public function logout() {
myReq::sessionEnd();
return true;
}
//预执行程序
public function preload() {
//code
}
//执行首尾程序
public function shutdown() {
//code
}
}
以上代码为原有核心类添加了静态变量 $log ,修改了登录和退出的方法,并增加了用于开始和结束执行的代码。框架系统会根据目录、文件和类名称自动判断是否存在扩展类并直接加载,并对应到 $M 实体变量中,无需额外操作。