zoukankan      html  css  js  c++  java
  • ectouch第二讲之 文件结构

      相信大家在ectouch官网都注意到了,ectouch采用的MVC框架,之前一直以为它用的和ecshop一样都是smarty,本鸟默默按照smarty的文件结构研究了好几天,结果是各种文件对不上号。无奈之下问了度娘才明白我的思考从一开始就是个错误(妹的,这么简单的错误,我竟真的如此认真地研究了好几天,也是醉了,大家平时还是多与度娘沟通,别和我一样遇到个问题就坐在那里想。。。)。说的够多了,该正题了。

      先说一下MVC结构,相信大家能在网上找到不少这方面的资料,这里就ectouch的文件简单总结下。

      模块(The Model): 即M

      主要包含那些用来操作数据库的函数 文件后缀一般是***Model.class.php 路径一般是../mobile/include/apps/default/model/

      控制器(The Controller):即C

      控制器是所有WEB应用的第一站,它接受收到的参数,比如$_GET变量,然后做出相应的反应。主要包含处理用户各种操作的函数 文件后缀一般是***Controller.class.php 路径一般是../mobile/include/apps/default/controller/

      视图(The View):即V

      一说到视图,我们很多人都会想到模板引擎(诸如Smarty等等)。其实就是各种各样的输出,比如说html模板和Javascript文件等。模板路径一般是../mobile/themes/default/

      目录结构

      根目录 
      |  –  admin 默认后台管理目录(可任意改名) 
      |  –  data 静态资源和系统缓存、配置项目录(必须可写入)

           |  – assets 静态资源目录       

           |  – attached 附件目录

           |  – cache缓存目录 
           |  – common 公共静态文件目录 
      |  –  include 核心程序目录       

           |  – apps 主程序 
                |  – admin 后台模块

                |  – install 安装模块

                |  – default 前台默认模块 
                     |  – common 公共方法

                     |  – controller 控制器

                     |  – language 语言包

                     |  – model  模型 
           |  – base 基础程序    
                     |  – constant.php  系统常量
                     |  –function.php  系统函数  
                     |  –controller 
                     |  –model  

           |  – driver驱动程序       

           |  – library 主类库       

           |  – vendor 第三方扩展类

      |  –  plugins 插件程序目录       

           |  – connect授权登录       

           |  – wechat 微信 
           |  – integrates 第三方用户整合 
           |  – payment 支付方式 

           |  – shipping 配送方式

      |  –  themes系统默认模板目录

      url结构

      ECTouch是采用个MVC设计模式开发,基于模块和操作的方式进行访问,并且使用单一入口模式进行项目部署和访问,任何功能和模块的访问,只有通过此入口文件。

     模块访问方法[示例]:  index.php?m=default&c=category&a=index&id=2

      其中 
      m = default 为模块名称位于include/apps/ 

      c = category 为控制器名称位于include/apps/default/controller/IndexController.class.php 

      a = index 控制器访问方法名称 位于include/apps/default/controller/IndexController.class.php 中index()方法 

      id = 2 为其他参数 与正常get传递参数形式相同 
    模块和操作方法 
      ECTouch中的模块,位于include/apps/目录中 每一个目录称之为一个模块。即url访问中的m [示例]: 

      index.php?m=default&c=index 
      那么您访问的就是ECTouch/include/apps/default这个模块。 
      如果创建一个前台模块,只要在 include/apps/default 目录下创建:模块名称+Model.class.php  
    控制器 
      控制器就是模块文件下面controller下的类文件,位于include/apps/模块/controller/下面。

      命名规则为:文件名+Controller.class.php,文件名开头字母大写,例如一个名为test的控制器,那么他的命名为TestController.class.php即可。控制器类的类名称与控制器文件名必须相同。 
      如果您创建了一个TestController.class.php在default模块下,那么我们在浏览器里面输入URL: 
    http://localhost/ectouch/mobile/index.php?m=default&c=test 即可访问到相应控制器

      如果你添加的控制器类继承了其他的类,那么要注意你类中的方法名称不能和父类的方法名称重复,否则会覆盖原有的或者出现程序运行错误。

      例如default模块的类继承了CommonController类,而这个类中定义了view方法,那么就不能再重复定义这个方法了。 
    命名规范 
      规范如下:   
      核心程序目录(includes)的类文件需要以.class.php 为后缀名称,开头第一个字母大写。例如:IndexModel.class.php  
      控制器和模型中的类名和文件名一致,例如IndexModel.class.php的类名为:IndexModel 

  • 相关阅读:
    js格式化文件大小,单位:Bytes、KB、MB、GB
    Java如何大批量从json数据源中按指定符号隔字符串,并修改、删除数据
    ExtJs定时消息提示框,类似于QQ右下角提示,ExtJs如何定时向后台发出两个请求并刷新数据实例
    Java jxl导入excel文件,导入的数字、身份证号码、手机号变成了科学计数法,解决方案
    Java 防SQL注入过滤器(拦截器)代码
    mysql8源码安装和MGR
    linux基础
    ThreadLocal
    redis缓存雪崩、穿透、击穿概念及解决办法
    ThreadLocal可能引起的内存泄露
  • 原文地址:https://www.cnblogs.com/c-961900940/p/4729448.html
Copyright © 2011-2022 走看看