织梦MVC开发框架开发手册

很多人还是在研究DEDECMS,这里我们公布一下他模块的MVC框架基本说明:

     这个开发框架可以编写基于织梦内容管理系统的扩展功能、模块(插件),甚至可以将其分离出来开发博客、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(); 
//实例化数据库操作类。模型中关于数据库类的使用操作可以参看数据库类使用说明

 

模板标签调用说明:
   如果在控制器中通过$control->SetVar($k, $v); 这种方式设定的参数,我们通过标签 {dede:var.name /}的方式进行调用。
   如果在控制器中通过GLOBALS['k'] = $k;这种方式设定的参数,我们通过标签 {dede:global.name/}的方式进行调用或者直接采用php的方式进行输出。


--------------------- 
作者:暗淡亮点 
来源:CSDN 
原文:https://blog.csdn.net/suleil1/article/details/49471341 
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
222.jpg 北京时间2016年11月16日,国内领先的WEB与移动内核软件研发厂商-Zoomla!逐浪CMS团队发布其年度最后一个大作,也是目前国内首个基于MVC架构的厂商级dotNET框架CMS- Zoomla!逐浪2 x3.8 众所周知,目前面向云与大数据是今天互联网的大势所趋,而MVC框架则是目前最流行的开发框架之一。 ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。 ASP.NET 支持三种不同的开发模式: Web Pages(Web 页面)、MVC(Model View Controller 模型-视图-控制器)、Web Forms(Web 窗体) MVC 编程模式 MVC 是三种 ASP.NET 编程模式中的一种。 MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式: Model(模型)表示应用程序核心(比如数据库记录列表)。 View(视图)显示数据(数据库记录)。 Controller(控制器)处理输入(写入数据库记录)。 MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。 MVC 模式定义 Web 应用程序 带有三个逻辑层: 27 (1).jpg 业务层(模型逻辑) 显示层(视图逻辑) 输入控制(控制器逻辑) Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。 通常模型对象负责在数据库中存取数据。 View(视图)是应用程序中处理数据显示的部分。 通常视图是依据模型数据创建的。 Controller(控制器)是应用程序中处理用户交互的部分。 通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。 MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。 MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑 未标题-1.jpg 基于这一思维开发的产品,具有更易维护、更加简洁目录,同时加上全新的逐浪CMS架构和自主表现引擎,整体效率与运行脚本也更具上乘。 Zoomla!逐浪CMS2 x3.8系统是逐浪软件团队年度大作,也是有史以来最大的一次加构更新,我们不仅重写了全局代码、后台引擎,同时就整个底层架构进行优化,整体效率提升了三倍以上。 同时融入了新的办公系统、移动功能、H5模块、移动开发引擎,具备良好的扩展性。 主要更新有: 全新后台表现体系,完美支持移动设置和Surface book、ipad等触控设备应用 全新智能模板引擎,引入我们为猪八戒网等平台提供的模板引擎,从而有更好的设计体验 新增FTP管理模板,可以更好的管理云主机 HTML5表单问券系统 场景复制功能 全新会员特许商品功能 全新会员层级邀请码,通过层级进行B2B分销推荐 增加:插件式开发方式,用于在发布后的项目增加新的mvc页面 增加:加固的安全防护,config下数据库链接不再明文,而是加密,并可通过官方Help.z01.com工具进行解密,从而提升平台的安全性。 修复:用户云备用功能。 增加:扩展商品支持最大购买数、最小购买数、购买倍数 改进:验证码改为点击后会自动更新防抓图破解 增加:增加:微信公众号子商户支付功能(wxpay_submp) 扩展:/Tools/ 维护工具,增加对加密文本的维护功能 增加:内容管理、商品、商城新增二维码,后台一键分享更方便 修改:修改CMS密钥机制 修改:webup多文件上传组件,增加图片压缩功能 场景:增加相册功能,并扩展支持图片压缩 增加:提现申请支持费率(需要在系统-配置-商城参数中设置费率) 修改:场景--相册,增加新建场景提示,微信分享图片默认为第一张图 扩展:ueditor已升级为1.4.3.3,解决一个安全溢出缺陷 增加:微信红包功能(/User/Money/RedPacket) *管理员在后台--微信--生成红包 *用户通过红包码在前台领取红包(用户必须关注公众号才可发送红包) 扩展:场景增加访问密码功能 *如设置,则非创建者访问需要密码 *输入一次密码后,只要不关浏览器,即可直接访问 扩展:资金赠送可根据用户名或ID选择赠送人 扩展:订单管理新增导出Excel 新增:全新订单管理样式 新增:快递打单功能,支持顺风、EMS、中通、安能物流等快递直接打出订单并匹配快递订单 扩展:内容支持中文URL,示例:/Item/标题,从而提升SEO的效率 *需要在后台--节点--栏目选项--中文URL *IE下需要对中文编码,否则无法解析标题 扩展:在线设计增加了对标签的支持,提现支持手续费率 扩展:相册模式增加新的模板,修复PPT模式 相册Bug 修复:OA模型添加无效Bug,用户检测Bug,专题路径无效Bug,OA事务模板Bug *编辑器模板:后台--办公--套红管理--模板类型=事务 修复:重新校验了手机注册流程,将注册流程修复 可视设计:增加记录复制 可视设计:增加标签复制,仅首行显示添加按钮 修复:后台--办公--OA,选择用户无效Bug(OA统一使用组结构) 优化:开发中心Runsql增加快捷键,并优化关键词显示颜色 优化:后台商城-推广中心-用户明细列表显示用户ID、推荐人,新增按ID、真实姓名搜索, 并可逐级查看推广用户 增加:会员展示和会员详情新样式,更加简洁明亮 移除:移除后台SNS好友管理、虚拟商品等无用页面 修复:邀请码生成功能,并检验邀请码逻辑 修复:微博绑定Bug,修改密码链接Bug 修复:用户中心广告申请、节日提醒功能 增加:MVC页面索引功能,用户中心已可搜索页面 增加:会员支付二级密码功能

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值