源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

thinkPHP5.0框架模块设计详解

  • 时间:2021-03-09 00:22 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:thinkPHP5.0框架模块设计详解
本文实例讲述了thinkPHP5.0框架模块设计。分享给大家供大家参考,具体如下: 5.0版本对模块的功能做了灵活设计,默认采用多模块的架构,并且支持单一模块设计,所有模块的命名空间均以app作为根命名空间(可配置更改)。 [b]目录结构[/b] 标准的应用和模块目录结构如下: ├─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的命名规范,模块目录全部采用小写和下划线命名。 [b]模块名称请避免使用PHP保留关键字(保留字列表参见 http://php.net/manual/zh/reserved.keywords.php ),否则会造成系统错误。[/b] 其中common模块是一个特殊的模块,默认是禁止直接访问的,一般用于放置一些公共的类库用于其他模块的继承。 [b]模块类库[/b] 一个模块下面的类库文件的命名空间统一以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

更多的关于类库和命名空间的关系可以参考下一前面一篇《[url=http://www.1sucai.cn/article/108798.htm]thinkPHP5.0框架命名空间详解[/url]》。 [b]模块和控制器隐藏[/b] 由于默认是采用多模块的支持,所以多个模块的情况下必须在URL地址中标识当前模块,如果只有一个模块的话,可以进行模块绑定,方法是应用的公共文件中添加如下代码:
// 绑定当前访问到index模块
\think\Route::bind('index');
绑定后,我们的URL访问地址则变成: http://serverName/index.php/控制器/操作/[参数名/参数值...] 访问的模块是index模块。 如果你的应用比较简单,模块和控制器都只有一个,那么可以在应用公共文件中绑定模块和控制器,如下:
// 绑定当前访问到index模块的index控制器
\think\Route::bind('index/index');

设置后,我们的URL访问地址则变成: http://serverName/应用入口/操作/[参数名/参数值...] 访问的模块是index模块,控制器是Index控制器。 [b]单一模块[/b] 如果你的应用比较简单,只有唯一一个模块,那么可以进一步简化成使用单一模块结构,方法如下: 首先在应用配置文件中定义:
// 关闭多模块设计
'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相关内容感兴趣的读者可查看本站专题:《[url=http://www.1sucai.cn/Special/39.htm]ThinkPHP入门教程[/url]》、《[url=http://www.1sucai.cn/Special/853.htm]thinkPHP模板操作技巧总结[/url]》、《[url=http://www.1sucai.cn/Special/129.htm]ThinkPHP常用方法总结[/url]》、《[url=http://www.1sucai.cn/Special/32.htm]codeigniter入门教程[/url]》、《[url=http://www.1sucai.cn/Special/445.htm]CI(CodeIgniter)框架进阶教程[/url]》、《[url=http://www.1sucai.cn/Special/546.htm]Zend FrameWork框架入门教程[/url]》、《[url=http://www.1sucai.cn/Special/26.htm]smarty模板入门基础教程[/url]》及《[url=http://www.1sucai.cn/Special/350.htm]PHP模板技术总结[/url]》。 希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部