• Demo --项目目录

    • Addons --插件目录
    • Application --应用模块目录
      • Admin --后台模块

        • Common --后台公共函数目录

          • function.php (可选)
        • Conf --后台配置文件目录
          • config.php (可选)
        • Controller --后台控制器目录
          • IndexController.class.php
        • Model --后台模型目录
          • IndexModel.class.php
        • View --后台视图目录
          • index.html
        • Logic --后台逻辑目录(可选,Model层分出的层,用于实现复杂逻辑)
      • Home --前台模块
        • Common --前台公共函数目录

          • function.php (可选)
        • Conf --前台配置文件目录
          • config.php (可选)
        • Controller --前台控制器目录
          • IndexController.class.php
        • Model --前台模型目录
          • IndexModel.class.php
        • View --前台视图目录
          • index.html
        • Logic --前台逻辑目录(可选,Model层分出的层,用于实现复杂逻辑)
      • User --用户模块(可选,提供操作用户的一些方法,)
        • Common --用户模块公共函数目录

          • function.php (可选)
        • Conf --用户模块配置文件目录
          • config.php (可选)
        • Model --用户模块模型目录

          • UserModel.class.php
      • Common --公共模块(不能直接访问)
        • Common --公共函数目录

          • function.php (可选)
        • Conf --公共模块配置文件目录
          • config.php (可选)
        • Model --公共模块模型目录
          • UserModel.class.php
    • Public --静态资源目录Runtime --默认运行时目录(可以修改)
      • Admin
      • Home
      • static
    • ThinkPHP --框架目录
    • Uploads --上传文件目录
    • .htaccess --Apache配置文件(重写URL,修改访问权限)
    • index.php --入口文件

1. 程序运行时会先自动加载Common模块中的配置文件和Common/common/function.php公共函数,然后在加载对应模块的配置文件和公共函数,配置会覆盖前者,函数不能重复定义,否则会报错,在所有模块中可以直接访问到Common中配置文件的配置项、function.php中定义的常量和函数

2. Model层中完成简单的数据操作和自动验证功能,如果有特别复杂的操作,可以放在Logic层中完成

3. 使用D()可以创建自定义数据模型,默认创建Model层中的模型,如模型在Logic或者Service层中,可以添加参数 $user = D( ' User ' , ' Logic ' )或者$user = D( ' User ' , ' Service ' )获得Logic层或者Service层中的模型。如果模型属于其他模块,可以用 $user = D ( ' Admin / User ' ) 方法获得模型, D方法在创建模型不会重复创建

4. 在控制器中如无需进行复杂的数据操作,可以使用M(' User ')方法创建基础模型类

ThinkPHP3.2项目模块结构的更多相关文章

  1. SLP的模块结构

    SLP的模块结构 在开发初期,拟将SLP分为5个模块: 基础练习模块 特定歌曲难点练习模块 玩家能力测试模块 全局设置模块 玩家信息模块 基础练习模块 这里提供可控类型.可控长度.可控BPM的练习套餐 ...

  2. Laravel项目目录结构说明

    Laravel项目目录结构说明: |- vendor 目录包含你的 Composer 依赖模块及laravel框架. |- bootstrap 目录包含几个框架启动跟自动加载配置的文件. |- app ...

  3. NET5实践:项目创建-结构概述-程序运行-发布部署

    ASP.NET5实践01:项目创建-结构概述-程序运行-发布部署   1.项目创建 ASP.NET5项目模板有三种: 新建项目: 选择模板: 2.结构概述 References对应配置是project ...

  4. vue项目目录结构

    VUE项目目录结构 如上图所示,我们的目录结构就是这样的了. 目录/文件 说明 build 这个是我们最终发布的时候会把代码发布在这里,在开发阶段,我们基本不用管. config 配置目录,默认配置没 ...

  5. iOS开发总结——项目目录结构

    1.前言 清晰的项目目录结构有利于项目的开发,同时也是软件架构的一部分,所以,项目开发之初搭建项目的目录结构很重要.刚转iOS时,自己并不知道如何搭建App的项目目录,在参与开发两个应用后,结合Web ...

  6. React脚手架创建一个React应用以及项目目录结构详解

    react脚手架 用来帮助程序员快速创建一个基于xxx库的模板项目,包含了所有需要的配置,指定好了所有的依赖,可以直接安装/编译/运行一个简单效果 react提供了一个专门用于创建react项目的脚手 ...

  7. Angular4.x 安装|创建项目|目录结构|创建组件

    Angular4.x 安装|创建项目|目录结构|创建组件 安装最新版本的 nodejs node.js 官网:https://nodejs.org/zh-cn/ 去官网下载 node.js,下一步下一 ...

  8. sencha touch 入门系列 (四)sencha touch 新建项目目录结构解析

    通过上一章节的操作,我们的项目已经创建完成了, 大家通过http://127.0.0.1/MyFirst/应该都已经访问到了自己的应用, 接下来,我们展开我们项目,如图所示: 一.目录结构 1. .s ...

  9. Angular-cli新建项目目录结构详解

    Angular-cli新建项目目录结构详解 在上一篇博客中我们已经通过Angular CLI命令行工具创建出来一个全新的Angular项目,要想写项目,首先我们要先搞清楚项目的目录结构是怎样的,每个文 ...

随机推荐

  1. 使用RetionalRose根据现有的java工程逆向生成类图

    1.进入RetionalRose选择J2EE模板 2.在菜单栏选择tools->java/j2EE->reverse engineer 3.编辑路径Edit CLASSPATH选择要生成类 ...

  2. python3学习笔记二(注释、缩进)

    注释 单行注释,用#开头即可 多行注释,用''' ''' 或""" """ 缩进 python不能像其他语言一样采用{}或者begin... ...

  3. mina2的processor

    processor顾名思义,就是进行IO处理,处理当前session的数据读写,并进行业务处理. 在mina server初始化的时候,会初始化一个processor池,通过NioSocketAcce ...

  4. go中的无限极分类的问题

    最近在开发的过程中遇到一个无限极分类的问题,这种问题在php中写过很多,想着很简单,3-5分钟就能解决,结果竟然写了半小时,既然这样,就把这个给总结下. 思路 1.循环数据,放到hash中,把标识的数 ...

  5. vultr 上实现高可用冗余浮动公网IP出口(使用BIRD+BGP协议)High Availability on Vultr with Floating IP and BGP

    官方文档: https://www.vultr.com/docs/high-availability-on-vultr-with-floating-ip-and-bgp https://www.vul ...

  6. Python:员工信息增删改查

    一:需求 homework.txt文件中有如下格式的人员信息: 1,Jack Wang,28,13451024608,HR,2015‐01‐072,Rain Wang,21,13451054608,I ...

  7. Mybatis 系列5-结合源码解析TypeHandler

    [Mybatis 系列10-结合源码解析mybatis 执行流程] [Mybatis 系列9-强大的动态sql 语句] [Mybatis 系列8-结合源码解析select.resultMap的用法] ...

  8. linux下开启某个端口的方法:可用于SQL

  9. Linux下rz,sz与ssh的配合使用

    Linux下rz,sz与ssh的配合使用 一般来说,linux服务器大多是通过ssh客户端来进行远程的登陆和管理的,使用ssh登陆linux主机以后,如何能够快速的和本地机器进行文件的交互呢,也就是上 ...

  10. 通过 SSH 转发TCP连接数据

    设定 首先双方的/etc/ssh/sshd_config设定以下四项: AllowAgentForwarding yes AllowTcpForwarding yes GatewayPorts yes ...