您好,欢迎来到菜鸟吧源码网-本站资源仅供学习与参考,禁止用于商业或违法行为!
  • 首 页
  • 下载APP
  • 公告:菜鸟吧APP于2024.9.15正式上线,请首页右上角进入下载,本站资源均来源于互联网及会员投稿发布,所有资源仅供学习参考研究使用,请勿商用或其它非法用途,商用请购买正版,否则产生一切后果由用户自行承担!谢谢!

     

    当前位置:主页 > 站长学堂 > dede教程 >
    DedeCMS V5.7模块MVC框架基本说明
    时间:2020-02-20 12:22 作者:菜鸟哥 浏览:收藏 挑错 打印

    织梦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/ 上进行查询

    郑重声明:
    本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
    我们不承担任何技术及版权问题,且不对任何资源负法律责任。
    如无法下载,联系站长索要。
    如有侵犯您的版权,请给我们来信:cainiaovip8@qq.com,我们尽快处理。

    织梦中TAG标签字数长度限制解决方法织梦中TAG标签字数长度限制解决方法
    织梦后台突然打不开或打开后空白的解决方法织梦后台突然打不开或打开后空白的解决
    织梦系统解决后台“DEDECMS安全提示”的方法织梦系统解决后台“DEDECMS安全提示”