织梦DedeCMS V5.7模块MVC框架基本说明
发布时间:2020-12-14 05:18:48 所属栏目:Dedecms 来源:网络整理
导读:织梦MVC开发框架是一个精简、迷你的web开发框架,用这个开发框架可以编写基于织梦内容管理系统的扩展功能、模块(插件),甚至可以将其分离出来开发博客、BBS、SNS等。? 目录结构说明:? |_app? ?? ?|___control ? ? ?控制器(C)? ?? ?|___model ? ? ? ?模型(M
织梦MVC开发框架是一个精简、迷你的web开发框架,用这个开发框架可以编写基于织梦内容管理系统的扩展功能、模块(插件),甚至可以将其分离出来开发博客、BBS、SNS等。? 目录结构说明:? |_app? ?? ?|___control ? ? ?控制器(C)? ?? ?|___model ? ? ? ?模型(M)? ?? ?|___templates ? ?视图模板(V)? ?? ?|___libraries ? ?类库? ?? ?|___data ? ? ? ? 配置? ?? ?|___datahelper ?小助手? ?? ?|___static ? ? ? 样式,js,图片文件夹? ?? ?|___index.php ? ?统一入口文件? 统一入口解析地址? http://你的网址/app/index.php?ct=index&ac=save? ct=index:控制器入口,对应到目录control中的index.php? 如果RunApp()指定了第三个参数,例如问答中RunApp($ct,$ac,'admin'),说明ct=index:控制器入口,对应到目录control/admin中的index.php? ac=save:操作,对应文件index.php中的class index中function ac_save()? 控制器中将相关功能操作都存放至一个文件中,例如留言板,可以使用:? ?ct=guestbook&ac={do}统一完成,这样也便于静态化部署.? 1.控制器开发说明(control):? 基本代码结构:? 复制代码 class yourctname extends Control { public function ac_save() { } }控制器可以选择继承一个基类:Control,这个类对应的文件名是/include/control.class.php,这里面含有基类的相关操作说明,这里有几个常用方法:? $control->Model();? //载入一个模型。例如问答模块中index.php中的 $this->question = $this->Model('mquestion'),就是在载入了mquestion这个模型。然后我们就可以通过$this->question来调用模型相应操作。实现数据的插入,更新等等操作。调用类的名字可以随便定义,但要保证没有冲突。模型的文件放在model目录中。? $control->Libraries();? //载入一个类。有时开发我们需要一个系统中不存在的类时,我们可以通过这个方法来载入一个自己的类。具体的方法和模型一样。类放在libraries目录中。? $control->helper();? //载入一个小助手。引入小助手是为了更好的帮助我们存放和管理需要用到的Function。? 具体的方法和模型一样。小助手放在datahelper目录中。? $control->SetTemplate();? $control->SetTemplet(); ?// 设定当前操作需要指定的模板;? $control->SetVar($k,$v); ?// 设定模板需要解析的变量,在模板中使用{dede:var.name /}进行调用.? GLOBALS['k'] = $k;? // 设定模板需要的变量,在模板中可以直接用 $control->GetVar($k); ?// 获取设定的模板变量? $control->Display(); ?// 显示模板解析后的内容? $control->SaveTo(); ?// 将内容保存到文件? 控制器中关于模板的使用操作可以参看DedeTemplate模板引擎,具体可以参看公司内部开发文档中模板说明相关章节.? 模型开发说明(Model):? 复制代码 class mtype extends Model { public function get_one() { } }控制器可以选择继承一个基类:Model,这个类对应的文件名是/include/model.class.php,这里面含有数据库类的相关操作说明,这里只有一个方法:? $model->dsql();? //实例化数据库操作类。模型中关于数据库类的使用操作可以参看数据库类使用说明(http://help.dedecms.com/v53/archives/functions/db/)? 模板标签调用说明:? ?? 如果在控制器中通过$control->SetVar($k,$v); 这种方式设定的参数,我们通过标签 {dede:var.name /}的方式进行调用。? ?? 如果在控制器中通过GLOBALS['k'] = $k;这种方式设定的参数,我们通过标签 {dede:global.name/}的方式进行调用或者直接采用php的方式进行输出。? ?? 更多的关于模板标签的使用可以到http://help.dedecms.com/v53/?上进行查询 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |