标准的应用和模块目录结构如下:

遵循ThinkPHP5.0的命名规范,模块目录全部采用小写和下划线命名。

其中common模块是一个特殊的模块,默认是禁止直接访问的,一般用于放置一些公共的类库用于其他模块的继承。

一个模块下面的类库文件的命名空间统一以app模块名开头,例如:

  1. // index模块的Index控制器类
  2. appindexcontrollerIndex
  3. // index模块的User模型类
  4. appindexmodelUser

其中app可以通过定义的方式更改,例如我们在应用配置文件中修改:

    那么,index模块的类库命名空间则变成:

    由于默认是采用多模块的支持,所以多个模块的情况下必须在URL地址中标识当前模块,如果只有一个模块的话,可以进行模块绑定,方法是应用的入口文件中添加如下代码:

    1. // 绑定当前访问到index模块
    2. define('BIND_MODULE','index');

    绑定后,我们的URL访问地址则变成:

    访问的模块是index模块。

    如果你的应用比较简单,模块和控制器都只有一个,那么可以在应用公共文件中绑定模块和控制器,如下:

    1. // 绑定当前访问到index模块的index控制器
    2. define('BIND_MODULE','index/index');

    设置后,我们的URL访问地址则变成:

    访问的模块是index模块,控制器是Index控制器。

    首先在应用配置文件中定义:

    然后,调整应用目录的结构为如下:

    1. ├─application 应用目录(可设置)
    2. ├─model 模型目录
    3. ├─ ... 更多类库目录
    4. ├─common.php 函数文件
    5. ├─route.php 路由配置文件
    6. ├─database.php 数据库配置文件
    7. └─config.php 配置文件

    URL访问地址变成

    同时,单一模块设计下的应用类库的命名空间也有所调整,例如:

    原来的

    1. appindexcontrollerIndex

    变成