thinkphp5.0结构模块常识介绍
本文实例叙述了thinkPHP5.0结构模块规划。共享给咱们供咱们参阅,详细如下:
5.0版别对模块的功用做了灵敏规划,默许选用多模块的架构,而且支撑单一模块规划,一切模块的命名空间均以app作为根命名空间(可装备更改)。
目录结构
标准的运用和模块目录结构如下:
├─application 运用目录(可设置)
│ ├─common 公共模块目录(可选)
│ ├─common.php 公共函数文件
│ ├─route.php 路由装备文件
│ ├─database.php 数据库装备文件
│ ├─config.php 运用装备文件
│ ├─module1 模块1目录
│ │ ├─config.php 模块装备文件
│ │ ├─common.php 模块函数文件
│ │ ├─controller 控制器目录
│ │ ├─model 模型目录
│ │ ├─view 视图目录
│ │ └─ ... 更多类库目录
│ │
│ ├─module2 模块2目录
│ │ ├─config.php 模块装备文件
│ │ ├─common.php 模块函数文件
│ │ ├─controller 控制器目录
│ │ ├─model 模型目录
│ │ ├─view 视图目录
│ │ └─ ... 更多类库目录
遵从ThinkPHP5.0的命名标准,模块目录悉数选用小写和下划线命名。
模块称号请防止运用PHP保存关键字(保存字列表拜见 http://php.net/manual/zh/reserved.keywords.php ),否则会形成体系过错。
其间common模块是一个特别的模块,默许是制止直接拜访的,一般用于放置一些公共的类库用于其他模块的承继。
模块类库
一个模块下面的类库文件的命名空间一致以app\模块名最初,例如:
// index模块的Index控制器类 app\index\controller\Index // index模块的User模型类 app\index\model\User
其间app能够经过界说的办法更改,例如咱们在运用装备文件中修正:
'app_namespace' => 'application',
那么,index模块的类库命名空间则变成:
// index模块的Index控制器类 application\index\controller\Index // index模块的User模型类 application\index\model\User
更多的关于类库和命名空间的联络能够参阅下一前面一篇《thinkPHP5.0结构命名空间详解》。
模块和控制器躲藏
因为默许是选用多模块的支撑,所以多个模块的情况下必须在URL地址中标识当时模块,假如只要一个模块的话,能够进行模块绑定,办法是运用的公共文件中增加如下代码:
// 绑定当时拜访到index模块 \think\Route::bind('index');
绑定后,咱们的URL拜访地址则变成:
http://serverName/index.php/控制器/操作/[参数名/参数值...]
拜访的模块是index模块。
假如你的运用比较简单,模块和控制器都只要一个,那么能够在运用公共文件中绑定模块和控制器,如下:
// 绑定当时拜访到index模块的index控制器 \think\Route::bind('index/index');
设置后,咱们的URL拜访地址则变成:
http://serverName/运用进口/操作/[参数名/参数值...]
拜访的模块是index模块,控制器是Index控制器。
单一模块
假如你的运用比较简单,只要仅有一个模块,那么能够进一步简化成运用单一模块结构,办法如下:
首先在运用装备文件中界说:
// 封闭多模块规划 'app_multi_module' => false,
然后,调整运用目录的结构为如下:
├─application 运用目录(可设置)
│ ├─controller 控制器目录
│ ├─model 模型目录
│ ├─view 视图目录
│ ├─ ... 更多类库目录
│ ├─common.php 函数文件
│ ├─route.php 路由装备文件
│ ├─database.php 数据库装备文件
│ └─config.php 装备文件
URL拜访地址变成
http://serverName/index.php(或许其它运用进口)/控制器/操作/[参数名/参数值...]
一起,单一模块规划下的运用类库的命名空间也有所调整,例如:
本来的
app\index\controller\Index app\index\model\User
变成
app\controller\Index app\model\User
更多的URL简化和定制还能够经过URL路由功用完成。
期望本文所述对咱们根据ThinkPHP结构的PHP程序规划有所协助。
本文地址:http://www.anyuan2002.com/bcdm/91490.html