• 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. 2、以自定义struct或struct指针作为map的Key

    若干问题: struct Node { int k, b; friend bool operator <(Node a, Node b) { return a.k < b.k; } }no ...

  2. Qt学习——QListWidget控件的使用

    转载:GDUTLYP Qt提供QListWidget类列表框控件用来加载并显示多个列表项.QListWidgetItem类就是列表项类. 一般列表框控件中的列表项有两种加载方式: 一种是由用户手动添加 ...

  3. MIME Types - Complete List

    Suffixes applicable Media type and subtype(s) .3dm x-world/x-3dmf .3dmf x-world/x-3dmf .a applicatio ...

  4. console.log()换行和document.write()换行

    <!DOCTYPE html><html ><head><meta charset="utf-8"><title>ddd ...

  5. eclipse安装、汉化、搭建安卓开发环境

    1.eclipse与jdk的位数(32bit or 64bit )要对应,否则会提示Failed to load JNI shared library.提示这一种错误据说还有另外一种原因就是Path路 ...

  6. 在Linux里安装Samba(文件共享)方便在Windows下面操作

    第一步:安装包 在CentOS是 yum install samba 在Ubuntu是 apt install samba 第二步:添加用户 adduser 用户名 smbpasswd -a 用户名 ...

  7. HDFS的工作流程

    HDFS的工作机制 概述 HDFS集群分为两大角色:NameNode.DataNode NameNode负责管理整个文件系统的元数据 DataNode 负责管理用户的文件数据块 文件会按照固定的大小( ...

  8. 集合--(List、Set、Map)遍历、删除、比较元素时的小陷阱

    6,Map集合遍历的4中方法? 5,List遍历时如何remove元素 4.漏网之鱼-for循环递增下标方式遍历集合,并删除元素 如果你用for循环递增下标方式遍历集合,在遍历过程中删除元素,你可能会 ...

  9. [UE4]运行模式

    Selected Viewport和Simulate都可以在游戏模式和漫游模式之间切换. Selected Viewport:默认是游戏模式. Simulate:默认是漫游模式. 按Ctrl+F1后, ...

  10. 00004 - test命令详解

    Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值.字符和文件三个方面的测试. -------------------------------------------------- ...