0830轻量级Web信息系统开发框架使用说明书Word格式.docx
《0830轻量级Web信息系统开发框架使用说明书Word格式.docx》由会员分享,可在线阅读,更多相关《0830轻量级Web信息系统开发框架使用说明书Word格式.docx(7页珍藏版)》请在冰豆网上搜索。
![0830轻量级Web信息系统开发框架使用说明书Word格式.docx](https://file1.bdocx.com/fileroot1/2022-11/21/1da1dcca-b55e-41c7-aa4e-57aa3336a6d2/1da1dcca-b55e-41c7-aa4e-57aa3336a6d21.gif)
第4章控制器7
4.1类工厂bd.class.php7
4.2控制器基类ginkgo.action.php7
4.3创建新的控制器7
第5章视图9
5.1模板解析引擎gtpl.class.php9
5.2模板语法9
5.3制作模板10
第1章
系统架构
本系统基于MVC模式研发,遵循MVC基本结构。
系统主要文件如下图所示:
其中,cnf中存放系统配置文件
Controller中存放控制器
Global中存放全局使用的各种插件、功能文件夹等
Images中存放系统涉及到的图片
Model中存放系统模型
View中存放系统视图
Index.php是唯一入口文件。
第2章业务流程
第3章模型
3.1数据库相关模型
./model/public中存放数据库相关模型。
分别为:
gblock.class.php区块模型
gcfg.class.php配置模型
gcms.class.phpCMS模型
gcmt.class.php评论模型
gcy.class.php分类模型
gdb.class.phpCRUD封装
gdbca.class.php数据缓存
geditor.class.php在线编辑器接口
gfls.class.php文件操作模型
ghelp.class.php帮助系统模型
gimg.class.php图片系统模型
glog.class.php日志模型
gmsg.class.php信息中心模型
gpower.class.php权限控制模型
gproperty.class.php自定义字段模型
gsession.class.php会话模型
gsj.class.php信息模型
gsql.class.phpSQL分析模型
gsystem.class.php核心模型
gur.class.php用户模型
3.2数据库无关模型
./model/system中存放数据库无关模型。
gca.class.php系统缓存模型
gco.class.php分类树模型
gev.class.php数据分析模型
gfl.class.php文件流模型
ggd.class.phpGD库接口
ghtml.class.php静态页模型
gjson.class.phpJSON接口
gpg.class.php分页模型
greport.class.php系统信息模型
gstr.class.php字符串处理封装
gtpl.class.php模板解析引擎
gxml.class.phpXML处理模型
3.3创建新的模型
模型文件命名规则:
“模型名”+class.php
每个模型文件必须包含1个class,命名“模型名”。
Eg.:
greport.class.php
classgreport{
//类定义
}
每个模型中必须有public变量$bd,并在构造函数中对其赋值:
public$bd;
publicfunction__construct(&
$bd)
{
$this->
bd=$bd;
}
模型中的其他方法可以任意定义。
在model文件夹中创建一个模型文件,即可通过类工厂bd的make方法实例化。
系统将自动在model文件夹中搜寻模型文件。
若不能找到,则会报错。
Eg:
$report=$this->
bd->
make("
report"
);
第4章控制器
4.1类工厂bd.class.php
基于工厂模式生产类的实例。
publicfunctionmake($obj)用于产生$obj指定的对象的一个实例。
如果实例已经存在,则调用已有的实例。
类文件搜索路径:
1、MA.APPDIR
2、MP
3、MS
未发现类定义,则返回错误信息。
publicfunctionparse()请求路由。
调用适当的控制器。
4.2控制器基类ginkgo.action.php
所有控制器的基类,主要用于加载系统语言包、进行权限控制等。
4.3创建新的控制器
控制器文件命名规则:
“控制器名”+action.php
每个控制器文件必须包含1个class,命名“控制器名”。
并继承自ginkgo.action.phpEg.:
cms.action.php
classcmsextendsginkgo{
每个控制器中必须有public变量$bd,并在构造函数中对其赋值:
控制器若需要和视图协同工作:
public$tpl;
并在构造函数中初始化:
$this->
tpl=$this->
make(‘tpl’);
并重写display方法。
publicfunctiondisplay()
//方法定义
第5章视图
5.1模板解析引擎gtpl.class.php
publicfunctionsetCacheTime($time=false)
设定编译缓存保留时间,若参数为flase,则不生成缓存。
publicfunctionassign($target,$vars)
向模板中传递变量。
$target为模板变量名,$vars为控制器中变量名。
publicfunctionreadTpl($file)
读取模板文件
publicfunctionisCached($file,$par=NULL,$cachename=NULL)
检查缓存文件是否存在。
不存在则根据setCacheTime中的定义决定是否生成新的缓存文件。
publicfunctioncompileTpl($source)
编译模板,调用一系列compie函数对模板进行编译,包括对include语句编译、模板变量编译、模板常量编译、数组编译、执行语句编译、SQL编译、控制结构编译、区块编译、字符串编译等等。
publicfunctiondisplay($file,$par=NULL,$cachename=NULL)
输出模板。
若模板缓存存在,直接输出缓存。
5.2模板语法
模板以类似XML语法嵌入HTML文件中。
模板标签以{gin;
//省略…}开头。
{gin;
$var},输出一个来自于控制器的变量
v:
tplvar},输出一个模板变量
eval:
echoaa},执行一个php语句。
include:
XXXX},引入一个文件
if:
$aa>
0}{gin;
endif}判断结构
foreach:
$vars,var,id}
{gin;
var}
endforeach}将数组$vars中的每个元素赋给模板变量var,并逐一输出var
5.3制作模板
模板文件以html文件为基础,加入模板标签制成。
模板文件必须命名为*.tpl,并存放在./view/default/template/中。
模板文件编码应与配置文件中的编码一致。
模板文件中所需的变量必须在控制器中使用$tpl->
assign()方法传递到模板。