【ThinkPHP框架教程·Part-02】开发规范和目录结构


本章节我们来学习一下 ThinkPHP6.0 的编码开发规范以及框架的目录结构。

一、开发规范

ThinkPHP6.0 遵循的是 PSR-2 的命名规范和 PSR-4 的自动加载;

1、目录和文件的规范

  • 目录名(小写+下划线);
  • 类库和函数文件统一以.php 为后缀;
  • 类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径

一致;

  • 类(包含接口和 Trait)文件采用驼峰式命名(首字母大写),其它采用

小写+下划线命名;

  • 类名(包括接口和 Trait)和文件名保持一致,统一采用驼峰式命名

(首字母大写);

2、函数和类、属性命名规范

  • 类的命名采用驼峰法(首字母大写),如:User、UserType;
  • 函数的命名使用小写字母和下划线(小写字母开头)的方式,

如:get_client_ip;

  • 方法的命名使用驼峰法(首字母小写),如:getUserName;
  • 属性的命名使用驼峰法(首字母小写),如:tableName;
  • 特例:以双下划线__打头的函数或方法作为魔术方法,如: __call 和 __autoload;

3、常量与配置的规范

  • 常量以大写字母和下划线命名,如:APP_PATH;
  • 配置参数以小写字母和下划线命名,如:url_convert;
  • 环境变量定义使用大写字母和下划线命名,如:APP_DEBUG;

4、数据表和字段的规范

  • 数据表和字段采用小写加下划线方式命名;
  • 并注意字段名不要以下划线开头,如: think_user 表和 user_name
  • 字段不建议使用驼峰和中文作为数据表及字段命名;

二、目录结构

ThinkPHP6.0 支持多应用模式部署,app 是应用目录;

1、单应用模式目录结构图(默认)

image.png


单应用完整结构:

www  WEB部署目录(或者子目录)
├─app           应用目录
│  ├─controller      控制器目录
│  ├─model           模型目录
│  ├─ ...            更多类库目录
│  │
│  ├─common.php         公共函数文件
│  └─event.php          事件定义文件
│
├─config                配置目录
│  ├─app.php            应用配置
│  ├─cache.php          缓存配置
│  ├─console.php        控制台配置
│  ├─cookie.php         Cookie配置
│  ├─database.php       数据库配置
│  ├─filesystem.php     文件磁盘配置
│  ├─lang.php           多语言配置
│  ├─log.php            日志配置
│  ├─middleware.php     中间件配置
│  ├─route.php          URL和路由配置
│  ├─session.php        Session配置
│  ├─trace.php          Trace配置
│  └─view.php           视图配置
│
├─view            视图目录
├─route                 路由定义目录
│  ├─route.php          路由定义文件
│  └─ ...   
│
├─public                WEB目录(对外访问目录)
│  ├─index.php          入口文件
│  ├─router.php         快速测试文件
│  └─.htaccess          用于apache的重写
│
├─extend                扩展类库目录
├─runtime               应用的运行时目录(可写,可定制)
├─vendor                Composer类库目录
├─.example.env          环境变量示例文件
├─composer.json         composer 定义文件
├─LICENSE.txt           授权说明文件
├─README.md             README 文件
├─think                 命令行入口文件


2、多应用模式目录结构图(自定义)

image.png
上图中,app_name 可以有多个,即多应用模式;

多应用完整结构:

www  WEB部署目录(或者子目录)
├─app           应用目录
│  ├─app_name           应用目录
│  │  ├─common.php      函数文件
│  │  ├─controller      控制器目录
│  │  ├─model           模型目录
│  │  ├─view            视图目录
│  │  ├─config          配置目录
│  │  ├─route           路由目录
│  │  └─ ...            更多类库目录
│  │
│  ├─common.php         公共函数文件
│  └─event.php          事件定义文件
│
├─config                全局配置目录
│  ├─app.php            应用配置
│  ├─cache.php          缓存配置
│  ├─console.php        控制台配置
│  ├─cookie.php         Cookie配置
│  ├─database.php       数据库配置
│  ├─filesystem.php     文件磁盘配置
│  ├─lang.php           多语言配置
│  ├─log.php            日志配置
│  ├─middleware.php     中间件配置
│  ├─route.php          URL和路由配置
│  ├─session.php        Session配置
│  ├─trace.php          Trace配置
│  └─view.php           视图配置
│
├─public                WEB目录(对外访问目录)
│  ├─index.php          入口文件
│  ├─router.php         快速测试文件
│  └─.htaccess          用于apache的重写
│
├─extend                扩展类库目录
├─runtime               应用的运行时目录(可写,可定制)
├─vendor                Composer类库目录
├─.example.env          环境变量示例文件
├─composer.json         composer 定义文件
├─LICENSE.txt           授权说明文件
├─README.md             README 文件
├─think                 命令行入口文件


3、仅允许public目录对外访问

在目录结构上,只确保对外可访问的仅public目录;其他配置文件不应该允许用户访问。
image.png

在这里需要分清一个问题,就是启动的web服务有两种情况:Apache服务和ThinkPHP启动自带的服务。

ThinkPHP启动自带的web服务默认通过8000端口访问。
image.png

image.png

而phpstudy的Apache服务可默认通过80端口直接访问到WWW目录下的文件。
image.png


4、其他重要文件

在app目录中,还提供了一些文件,这些文件将在后面逐步讲到;
image.png


  • 12
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值