目录结构

  1. ThinkPHP5.1默认是多模块架构,也可以设置为单模块操作;
  2. 所有模块的命名空间以app这三个字母作为根命名空间(可通过环境变量更改);
  3. 手册摘入的结构列表:

image.png

  1. 模块下的类库文件命名空间统一为:app(模块名;
  2. 比如:appVindex\controller\Index

6· 多模块设计在URL访问时,必须指定响应的模块名,比如:public/test/abc/eat;

  1. 如果你只有test这一个模块时,你可以绑定这个模块,从而省略写法;
  2. 打开public/index.php的文件,追加一个方法:Container::get(‘app’)->bind(‘test’)->run()->send();

9.此时,URL调用就变成了:public/abc/eat;多模块时,则其它无法访问;

  1. 如果你的应用特别简单,只有一个模块,一个控制器,那改写下追加的方法:Container::get(‘app’)->bind(‘test/abc’)->run()->send();
  2. 此时,URL调用就变成了:public/eat;得到了极简;其它控制器则无法访问;

    空模块

  3. 可以通过环境变量设置空目录,将不存在的目录统一指向指定目录;

  4. 在config目录下的app.php修改:

    //默认的空模块名 'empty_module' =>'index',

  5. 空模块只有在多模块开启,且没有绑定模块的情况下生效;

    单一模块

  6. 如果你的应用只有一个模块,那可以直接设置单模块;

  7. 在config目录下的app.php修改: ```latex //是否支持多模块 ‘app_multi_module’ =>’false’,

```

  1. 目录结构可变为,手册摘入:

image.png
image.png
image.png

  1. URL地址 public/index/one,即:控制器/操作;
  2. 单一模块的命名空间也变更为:app/controller;

    环境变量

  3. ThinkPHP5.1提供了一个类库Env来获取环境变量;return Env::get(‘app_path’);

image.png