thinkPHP5.0框架模块设计详解
ThinkPHP  /  管理员 发布于 8年前   150
本文实例讲述了thinkPHP5.0框架模块设计。分享给大家供大家参考,具体如下: 5.0版本对模块的功能做了灵活设计,默认采用多模块的架构,并且支持单一模块设计,所有模块的命名空间均以app作为根命名空间(可配置更改)。 目录结构 标准的应用和模块目录结构如下: ├─application 应用目录(可设置) 遵循ThinkPHP5.0的命名规范,模块目录全部采用小写和下划线命名。 模块名称请避免使用PHP保留关键字(保留字列表参见 http://php.net/manual/zh/reserved.keywords.php ),否则会造成系统错误。 其中common模块是一个特殊的模块,默认是禁止直接访问的,一般用于放置一些公共的类库用于其他模块的继承。 模块类库 一个模块下面的类库文件的命名空间统一以app\模块名开头,例如: 其中app可以通过定义的方式更改,例如我们在应用配置文件中修改: 那么,index模块的类库命名空间则变成: 更多的关于类库和命名空间的关系可以参考下一前面一篇《thinkPHP5.0框架命名空间详解》。 模块和控制器隐藏 由于默认是采用多模块的支持,所以多个模块的情况下必须在URL地址中标识当前模块,如果只有一个模块的话,可以进行模块绑定,方法是应用的公共文件中添加如下代码: 绑定后,我们的URL访问地址则变成: http://serverName/index.php/控制器/操作/[参数名/参数值...] 访问的模块是index模块。 如果你的应用比较简单,模块和控制器都只有一个,那么可以在应用公共文件中绑定模块和控制器,如下: 设置后,我们的URL访问地址则变成: http://serverName/应用入口/操作/[参数名/参数值...] 访问的模块是index模块,控制器是Index控制器。 单一模块 如果你的应用比较简单,只有唯一一个模块,那么可以进一步简化成使用单一模块结构,方法如下: 首先在应用配置文件中定义: 然后,调整应用目录的结构为如下: ├─application 应用目录(可设置) URL访问地址变成 http://serverName/index.php(或者其它应用入口)/控制器/操作/[参数名/参数值...] 同时,单一模块设计下的应用类库的命名空间也有所调整,例如: 原来的 变成 更多的URL简化和定制还可以通过URL路由功能实现。 更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》、《smarty模板入门基础教程》及《PHP模板技术总结》。 希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
│ ├─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 视图目录
│ │ └─ ... 更多类库目录// index模块的Index控制器类app\index\controller\Index// index模块的User模型类app\index\model\User
'app_namespace' => 'application',
// index模块的Index控制器类application\index\controller\Index// index模块的User模型类application\index\model\User
// 绑定当前访问到index模块\think\Route::bind('index');
// 绑定当前访问到index模块的index控制器\think\Route::bind('index/index');
// 关闭多模块设计'app_multi_module' => false,
│ ├─controller 控制器目录
│ ├─model 模型目录
│ ├─view 视图目录
│ ├─ ... 更多类库目录
│ ├─common.php 函数文件
│ ├─route.php 路由配置文件
│ ├─database.php 数据库配置文件
│ └─config.php 配置文件app\index\controller\Indexapp\index\model\User
app\controller\Indexapp\model\User
您可能感兴趣的文章:
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号