开发规范及目录结构

使用了框架就要遵守一定的规范.

现代PHP框架也都基于PSR规范.下面简单罗列几个点

  • 目录命名采用小写+下划线的方式
  • 类文件采用大驼峰命名规则 例如: BaseController.php
  • 方法名采用小驼峰命名规则 例如: getUserInfo
  • 函数名使用蛇形命名法 例如: get_user_info
  • 类名应保持和文件名一致的规范
  • 类的属性应采用小驼峰命名规则
  • 常量以大写字母和下划线命名 例如: API_KEY
  • 框架内配置参数以小写字母和下划线命名

遵守这些规则可以避免一些不必要的错误发生.

下面说下框架的目录结构

app      应用目录 我们大部分的代码在这里编写
config   配置目录
extend   扩展类库目录
pulic    WEB目录(对外访问目录), 在配置Nginx或Apache的时候root目录指向这里
route    路由定义目录
runtime  应用的运行时目录,里面存放着运行的缓存和日志
vendor   Composer类库目录
view     视图目录
think    环境变量示例文件
.example.env  环境变量示例文件,使用时应拷贝一份命名成.env

TP6安装完成后,默认是单应用模式

再编写类CMS系统的时候,需要前台和后台两部分.可以将目录结构可以参考下面的结构进行调整

.  根目录
├─app           应用目录
│  ├─index           前台目录
│  │  ├─common.php      函数文件
│  │  ├─controller      控制器目录
│  │  ├─model           模型目录
│  │  ├─view            视图目录
│  │  ├─config          配置目录
│  │  ├─route           路由目录
│  │  └─ ...            更多类库目录
│  ├─admin           后台目录
│  │  ├─common.php      函数文件
│  │  ├─controller      控制器目录
│  │  ├─model           模型目录
│  │  ├─view            视图目录
│  │  ├─config          配置目录
│  │  ├─route           路由目录
│  │  └─ ...            更多类库目录
│  ├─common.php         公共函数文件
│  └─event.php          事件定义文件

上面的目录结构就是多应用的布局,其中还可以细分出更多的目录进行代码架构,比如Service、Dao、Manager,再之后的深入中会详细介绍.

如果使用多应用模式,需要安装扩展think-multi-app

composer require topthink/think-multi-app

重点: 多应用模式部署后,记得删除app目录下的controller目录(系统根据该目录作为判断是否单应用的依据)