• 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. [原创] 抛弃vboot不格盘用Grub4dos+Winvblock或Firadisk安装Ghost版XP到VHD,轻松RAMOS!

    [原创] 抛弃vboot不格盘用Grub4dos+Winvblock或Firadisk安装Ghost版XP到VHDhttp://bbs.wuyou.net/forum.php?mod=viewthre ...

  2. Ubuntu 14.10 下安装Spark

    Spark 是一种与 Hadoop 相似的开源集群计算环境,不过最近非常火.下面介绍安装步骤. 1 安装scala 1.1 我选用的是2.11.4,下载地址http://www.scala-lang. ...

  3. Hadoop概念学习系列之谈hadoop/spark里分别是如何实现容错性?(四十二)

    Hadoop使用数据复制来实现容错性(I/O高) Spark使用RDD数据存储模型来实现容错性.  RDD是只读的.分区记录的集合.如果一个RDD的一个分区丢失,RDD含有如何重建这个分区的相关信息. ...

  4. ObjectId与DateTime的互相转换

    s会用mongdb中经常会需要用到通过“_id”去检查数据,筛选数据,但是想根据具体时间的id每次都需要做一下转换,这样搜索起来就很简单了. ObjectId转DateTime /// <sum ...

  5. chrome 抓包的小功能--preserve log (记录页面跳转后,所有的抓包记录)

    1.记录页面跳转后,所有的抓包记录,勾上

  6. Python3中的赋值操作、浅拷贝与深拷贝

    一:关于赋值操作与浅拷贝 1.变量的赋值 首先以一个例子来说明一下:定义变量a = 1,使b = a.开始的情况下打印a与b都为1(显而易见,哈哈) 但是接下来,我们做一下改动,令 a = 222,再 ...

  7. keepalived主备节点都配置vip,vip切换异常案例分析

    原文地址:http://blog.51cto.com/13599730/2161622 参考地址:https://blog.csdn.net/qq_14940627/article/details/7 ...

  8. Java中关于大小写字母的转换

    方法一: 大小写字母在ascii码表中相减的值为32 故可将字符串转车字符数组 小写转大写减32 大写转小写加32 String s= "good"; char[] c = s.t ...

  9. CRM N:1 关系或者字段无法删除

    点开详细信息查看那些实体引用了该组件.查看内容如下: 1 查看窗体上有无该字段; 2 查看视图中有无该字段; 3 查看试图的 筛选条件; 4 查看试图的 查找列; 5 发布之后再试试.

  10. vue属性

    1. 图片地址: data:{ url:"https://www.baidu.com/img/bd_logo1.png"}, <img v-bind:src="ur ...