3.2发布版本自带了一个应用目录结构,并且带了一个默认的应用入口文件,方便部署和测试,默认的应用目录是Application(实际部署过程中可以随意设置)。

通常情况下3.2无需使用多应用模式,因为大多数情况下,我们都可以通过多模块化以及多入口的设计来解决应用的扩展需求。

模块设计

新版采用模块化的设计架构,下面是一个应用目录下面的模块目录结构,每个模块可以方便的卸载和部署,并且支持公共模块。

  1. Application 默认应用目录(可以设置)
  2. ├─Common 公共模块(不能直接访问)
  3. ├─Home 前台模块
  4. ├─Admin 后台模块
  5. ├─... 其他更多模块
  6. ├─Runtime 默认运行时目录(可以设置)
复制代码

 

注意:3.2版本在原来3.1.3的独立分组的基础上进行了改进,改进后的独立分组就是新版的模块,之前的模块则改称为控制器。

每个模块是相对独立的,其目录结构如下:

  1. ├─Module 模块目录
  2. │ ├─Conf 配置文件目录
  3. │ ├─Common 公共函数目录
  4. │ ├─Controller 控制器目录
  5. │ ├─Model 模型目录
  6. │ ├─Logic 逻辑目录(可选)
  7. │ ├─Service Service目录(可选)
  8. │ ... 更多分层目录可选
  9. │ └─View 视图目录

由于采用多层的MVC机制,除了Conf和Common目录外,每个模块下面的目录结构可以根据需要灵活设置和添加,所以并不拘泥于上面展现的目录

 

thinkphp模块设计的更多相关文章

  1. thinkphp 5.0 模块设计

    模块设计 5.0版本对模块的功能做了灵活设计,默认采用多模块的架构,并且支持单一模块设计,所有模块的命名空间均以app作为根命名空间(可配置更改). 目录结构 标准的应用和模块目录结构如下: ├─ap ...

  2. thinkphp5.0模块设计

    5.0版本对模块的功能做了灵活设计,默认采用多模块的架构,并且支持单一模块设计,所有模块的命名空间均以app作为根命名空间(可配置更改). 目录结构 标准的应用和模块目录结构如下: ├─applica ...

  3. thinkphp 模块化设计

    一个完整的ThinkPHP应用基于模块/控制器/操作设计,并且,如果有需要的话,可以支持多入口文件和多级控制器. ThinkPHP3.2采用模块化的架构设计思想,对目录结构规范做了调整,可以支持多模块 ...

  4. 解析大型.NET ERP系统 权限模块设计与实现

    权限模块是ERP系统的核心模块之一,完善的权限控制机制给系统增色不少.总结我接触过的权限模块,以享读者. 1 权限的简明定义 ERP权限管理用一句简单的话来说就是:谁 能否 做 那些 事. 文句 含义 ...

  5. .NET 缓存模块设计

    上一篇谈了我对缓存的概念,框架上的理解和看法,这篇承接上篇讲讲我自己的缓存模块设计实践. 基本的缓存模块设计 最基础的缓存模块一定有一个统一的CacheHelper,如下: public interf ...

  6. IOS编程 图片缓存模块设计

    手机客户端为什么会留存下来?而不是被一味的Wap替代掉?因为手机客户端有Wap无可替代的优势,就是自身较强的计算能力. 手机中不可避免的一环:图片缓存,在软件的整个运行过程中显得尤为重要. 先简单说一 ...

  7. ylbtech-Model-Account(通用账户模块设计)

    ylbtech-DatabaseDesgin:ylbtech-Model-Account(通用账户模块设计) ylbtech-Model-Account(通用账户模块设计) 1.A,数据库关系图(Da ...

  8. ABP模块设计

    ABP模块设计 返回ABP系列 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ASP.NET Boilerplate是一个用最佳实践和流行技术 ...

  9. asp.net通用查询模块设计

    asp.net通用查询模块设计 前言 自从上次狂喷了devexpress for asp.net面向互联网的app的各种不合理,好像骂的dev无处容身了,不过说实话,dev在做互联网的app时,生成的 ...

随机推荐

  1. java反射技术主要实现类有哪些,作用分别是什么

    Java反射技术主要实现类有哪些,作用分别是什么? 在JDK中,主要由以下类来实现Java反射机制,这些类都位于java.lang.reflect包中 1)Class类:代表一个类 2)Field 类 ...

  2. Github Statistics 一个基于 React 的 GitHub 数据统计工具

    V 站曾经有个热帖说为何我的开源项目只有 Fork 没有 Star,楼下有个热评说开源项目关注的不应该是 Commit 数据吗?先不论 Star.Fork 和 Commit,issue .pr 也应是 ...

  3. 数据结构(c语言版,严蔚敏)第3章栈和队列

    第3章栈和队列

  4. 关于axios中post请求提交后变成get的问题

    这个问题归结于自己的不细心,如下图. 头疼了好久,才发现是自己多写了一个s,在此记录一下.

  5. 重视项目排期,对dateline 有所敬畏

    项目排期 = 个人任务完成 + 风险预估 + 意外情况 + 项目上下游依赖 个人任务完成 个人任务具体话 不要考虑私人情感,专注工作 风险预估 对可能出现的情况进行考虑 意外情况 对出现的意外情况提前 ...

  6. magento开发 -- 修改当前用户的客户组

    $customer = Mage::getSingleton('customer/session')->getCustomer(); $customer->setData( 'group_ ...

  7. php手册的一些思考

    函数手册一定要认真看,很多用法都不太清楚:   array array_merge ( array $array1 [, array $... ] ) array_merge() 将一个或多个数组的单 ...

  8. PHP ftp_put() 函数

    定义和用法 ftp_put() 函数上传本地一个文件到 FTP 服务器上. 如果成功,该函数返回 TRUE.如果失败,则返回 FALSE. 语法 ftp_put(ftp_connection,remo ...

  9. Less 和 Sass

    LESS SASS sass 与 less 的区别与学习   :    https://www.cnblogs.com/roashley/p/7731865.html  或 https://www.c ...

  10. Go语言TCP Socket编程

      Golang的主要 设计目标之一就是面向大规模后端服务程序,网络通信这块是服务端 程序必不可少也是至关重要的一部分.在日常应用中,我们也可以看到Go中的net以及其subdirectories下的 ...