DedeCMS V5.7模块MVC框架基本说明

织梦MVC开发框架是一个精简、迷你的web开发框架,用这个开发框架能够编写基于织梦内容管理系统的扩展功能、模块(插件),甚至能够将其分离出来开发博客、BBS、SNS等。

目录结构说明:
|_app
    |___control      控制器(C)
    |___model        模型(M)
    |___templates    视图模板(V)
    |___libraries    类库
    |___data         配置
    |___data\helper  小助手
    |___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。
具体的方法和模型同样。小助手放在data\helper目录中。

$control->SetTemplate();  
$control->SetTemplet();  // 设定当前操做须要指定的模板;

$control->SetVar($k, $v);  // 设定模板须要解析的变量,在模板中使用{dede:var.name /}进行调用.

GLOBALS['k'] = $k;  
// 设定模板须要的变量,在模板中能够直接用<?php echo $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/ 上进行查询
 
相关文章
相关标签/搜索