ThinkPHP3.2项目模块结构
- Demo --项目目录
- Addons --插件目录
- Application --应用模块目录
- Admin --后台模块
- Common --后台公共函数目录
- function.php (可选)
- Conf --后台配置文件目录
- config.php (可选)
- Controller --后台控制器目录
- IndexController.class.php
- Model --后台模型目录
- IndexModel.class.php
- View --后台视图目录
- index.html
- Logic --后台逻辑目录(可选,Model层分出的层,用于实现复杂逻辑)
- Common --后台公共函数目录
- Home --前台模块
- Common --前台公共函数目录
- function.php (可选)
- Conf --前台配置文件目录
- config.php (可选)
- Controller --前台控制器目录
- IndexController.class.php
- Model --前台模型目录
- IndexModel.class.php
- View --前台视图目录
- index.html
- Logic --前台逻辑目录(可选,Model层分出的层,用于实现复杂逻辑)
- Common --前台公共函数目录
- User --用户模块(可选,提供操作用户的一些方法,)
- Common --用户模块公共函数目录
- function.php (可选)
- Conf --用户模块配置文件目录
- config.php (可选)
- UserModel.class.php
Model --用户模块模型目录
- Common --用户模块公共函数目录
- Common --公共模块(不能直接访问)
- Common --公共函数目录
- function.php (可选)
- Conf --公共模块配置文件目录
- config.php (可选)
- Model --公共模块模型目录
- UserModel.class.php
- Common --公共函数目录
- Admin --后台模块
- 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项目模块结构的更多相关文章
- SLP的模块结构
SLP的模块结构 在开发初期,拟将SLP分为5个模块: 基础练习模块 特定歌曲难点练习模块 玩家能力测试模块 全局设置模块 玩家信息模块 基础练习模块 这里提供可控类型.可控长度.可控BPM的练习套餐 ...
- Laravel项目目录结构说明
Laravel项目目录结构说明: |- vendor 目录包含你的 Composer 依赖模块及laravel框架. |- bootstrap 目录包含几个框架启动跟自动加载配置的文件. |- app ...
- NET5实践:项目创建-结构概述-程序运行-发布部署
ASP.NET5实践01:项目创建-结构概述-程序运行-发布部署 1.项目创建 ASP.NET5项目模板有三种: 新建项目: 选择模板: 2.结构概述 References对应配置是project ...
- vue项目目录结构
VUE项目目录结构 如上图所示,我们的目录结构就是这样的了. 目录/文件 说明 build 这个是我们最终发布的时候会把代码发布在这里,在开发阶段,我们基本不用管. config 配置目录,默认配置没 ...
- iOS开发总结——项目目录结构
1.前言 清晰的项目目录结构有利于项目的开发,同时也是软件架构的一部分,所以,项目开发之初搭建项目的目录结构很重要.刚转iOS时,自己并不知道如何搭建App的项目目录,在参与开发两个应用后,结合Web ...
- React脚手架创建一个React应用以及项目目录结构详解
react脚手架 用来帮助程序员快速创建一个基于xxx库的模板项目,包含了所有需要的配置,指定好了所有的依赖,可以直接安装/编译/运行一个简单效果 react提供了一个专门用于创建react项目的脚手 ...
- Angular4.x 安装|创建项目|目录结构|创建组件
Angular4.x 安装|创建项目|目录结构|创建组件 安装最新版本的 nodejs node.js 官网:https://nodejs.org/zh-cn/ 去官网下载 node.js,下一步下一 ...
- sencha touch 入门系列 (四)sencha touch 新建项目目录结构解析
通过上一章节的操作,我们的项目已经创建完成了, 大家通过http://127.0.0.1/MyFirst/应该都已经访问到了自己的应用, 接下来,我们展开我们项目,如图所示: 一.目录结构 1. .s ...
- Angular-cli新建项目目录结构详解
Angular-cli新建项目目录结构详解 在上一篇博客中我们已经通过Angular CLI命令行工具创建出来一个全新的Angular项目,要想写项目,首先我们要先搞清楚项目的目录结构是怎样的,每个文 ...
随机推荐
- FB工作流相关
1.初始化项目 gitlab上建立一个仓库 在命令行中运行git clone,将仓库克隆到本地 在命令行中找到前端模版文件(模版文件夹(front-template)有个sao.js脚本,用来在本地按 ...
- VS2012 创建的entityframework 4.1版本
起因:部署网站提示错误“Method not found: 'Void System.Data.Objects.ObjectContextOptions.set_UseConsistentNullRe ...
- python打包--pyinstaller打包报错
先来一段报错信息 目前打包主要涉及socket模块出现的报错 missing module named resource - imported by posix, C:\Users\Administ ...
- imageLoader之介绍
相信大家在学习以及实际开发中基本都会与网络数据打交道,而这其中一个非常影响用户体验的就是图片的缓存了,若是没有弄好图片缓存,用户体验会大大下降,总会出现卡顿情况,而这个问题尤其容易出现在ListVie ...
- [UE4]自定义服务器Service
- typescript接口扩展、接口的继承
//接口扩展:接口可以继承接口 // interface Animal{ // eat():void; // } // interface Person extends Animal{ // work ...
- IFE2017笔记
1. jQuery.trim()方法 jQuery 杂项方法 实例 删除字符串开始和末尾的空格 2.jQuery的map方法可以批量操作数组中元素,可以替代传统在循环中处理完数据挨个push进数据的代 ...
- unity3d动态创建一个文本
2D文本需要Canvas和EventSystem,最好使用Editor来添加: 动态显示一个文本,采用3D Text的方式: GameObject text = new GameObject(); t ...
- servlet为什么会出现?servlet有什么作用?
在面试中遇到了这个问题,所以想总结一下,所以上网找了一下,主要是网上的一些我觉得比较合理的解释: servlet为什么会出现? Servlet = Service + Applet,表示小服务程序.S ...
- Android数据传递,使用广播BroadcastReceiver;
Android数据传递有很多种,Intent意图传递或使用Bundle去传递,接口监听回调传递数据,也可以把数据保存起来,使用的时候去读取等等等...,"当你知道足够多的数据传递的方式之后, ...