分析概述
- 需求分析:
- 假如每个模板后面,想增加一段js代码,来执行访问统计,计划任务 或 检测输出动态的js标签等;除了每个模板手动增加一段代码以外,有没有更简洁的办法?
- 假如某一个功能组,如后台,会员中心,需要统一检测权限;或一些复杂的场景,要自定义一些php扩展方法;这又怎么实现?
- 模板 扩展类库 就针对如上场景 而设计的 一组扩展类库;
- 概述:
- 针对每一个功能组,都可有自己的 模板 扩展类库;
- 模板 扩展类库 与 控制器 放在同一目录;即在模板目录下的:/_ctrls/下;
- 命名空间 与 控制器 相同;类名以
tex
(template-extend缩写)开头;
- 多个模板通用的 类库文件名为
texBase.php
,在这一组模板中,会自动加载;
- 其它扩展类库 可按模型一个类库文件;需要手动加载;
扩展模板类库
texBase.php
公用类库
init($obj)
方法名固定,输出每个模板前执行;
pend()
方法名固定,输出每个模板后,附加到模板尾部的代码;
- 其它方法,可自定义;调用方式如:\imcat\demo\texBase::myfunc(1,2),
- 或者用助手函数:tex('texBase')->myfunc(1,2);
texDemo.php
自定义扩展类库,可自定义类名
- 调用 \imcat\demo\texDemo::ufunc(3,4);
- 推荐 用助手函数:tex('texDemo')->ufunc(3,4);
- Demo代码效果