欢迎来到HELLO素材网! 南京网站制作选择顺炫科技
丰富的DIV CSS模版、JS,jQuery特效免费提供下载
当前位置:主页 > 建站教程 > CMS教程 >

织梦DedeCMS v5.7模块MVC框架根本阐明

发表于2019-04-21 15:00| 次阅读| 来源网络整理| 作者session

摘要:织梦DedeCMS v5.7模块MVC框架根本阐明

织梦DedeCMS v5.7模块MVC框架根本阐明

织梦DedeCMS v5.7模块MVC框架根本阐明
  织梦MVC开发框架是一个精简、迷你的web开发框架,用这个开发框架可能编写基于织梦内容治理系统的扩充性能、模块(插件),甚至是可能将其分离进去开发博客、BBS、SNS等。
  织梦DedeCMS v5.7目录构造阐明:
  |_app
  |___control      控制器(C)
  |___model        模型(M)
  |___templates    视图模板(V)
  |___libraries    类库
  |___data         配置
  |___data\helper  小助手
  |___static       样式,js,图片文件夹
  |___index.php    一致入口文件
  一致入口解析地址
  你的网址/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();
  //实例化数据库操作类。模型中关于数据库类的利用操作可能参看数据库类利用阐明()
  模板标签调用阐明:
  假设在控制器中经过$control->SetVar($k, $v); 这种模式设定的参数,咱们经过标签 {dede:var.name /}的模式停止调用。
  假设在控制器中经过GLOBALS['k'] = $k;这种模式设定的参数,咱们经过标签 {dede:global.name/}的模式停止调用或许间接采用php的模式停止输出。
  更多的关于模板标签的利用可能到 上停止查询。