当前位置: 首页 > news >正文

php项目命名规范

命名规范

ThinkPHP5遵循PSR-2命名规范和PSR-4自动加载规范,并且注意如下规范:

目录和文件

  • 目录使用小写+下划线;
  • 类库、函数文件统一以.php为后缀;
  • 类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致;
  • 类文件采用驼峰法命名(首字母大写),其它文件采用小写+下划线命名;
  • 类名和类文件名保持一致,统一采用驼峰法命名(首字母大写);

 

函数和类、属性命名

  • 类的命名采用驼峰法(首字母大写),例如 User、UserType,默认不需要添加后缀,例如UserController应该直接命名为User;
  • 函数的命名使用小写字母和下划线(小写字母开头)的方式,例如 get_client_ip;
  • 方法的命名使用驼峰法(首字母小写),例如 getUserName;
  • 属性的命名使用驼峰法(首字母小写),例如 tableName、instance;
  • 以双下划线“__”打头的函数或方法作为魔术方法,例如 __call 和 __autoload;

 

常量和配置

  • 常量以大写字母和下划线命名,例如 APP_PATH和 THINK_PATH;
  • 配置参数以小写字母和下划线命名,例如 url_route_on 和url_convert;

 

数据表和字段

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

 

应用类库命名空间规范

应用类库的根命名空间统一为app(不建议更改,可以设置app_namespace配置参数更改,V5.0.8版本开始使用APP_NAMESPACE常量定义);
例如:app\index\controller\Index和app\index\model\User。

转载于:https://www.cnblogs.com/saturn/p/10511267.html

相关文章:

  • Jupyter Notebook不能在系统命令行里全局启动
  • php的基本内容
  • xpath获取一个标签下的多个同级标签
  • [笔记].I2C札记
  • 力扣——找数左下角的值
  • JavaScript之数组的常用操作函数
  • 缓存、队列(Memcached、redis、RabbitMQ)
  • Route组件GetVirtualPath方法性能优化结果
  • 吴恩达老师的神经网路和深度学习_02
  • 80后成人高考第二季
  • swoole 异步非堵塞 server/端 client/端 代码,已经测试完毕。贴代码
  • 肖不语
  • 01基础数据类型——list相关操作
  • Git学习教程(四):分枝和合并
  • mysql 存储过程、循环
  • 10个确保微服务与容器安全的最佳实践
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • ESLint简单操作
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • python学习笔记-类对象的信息
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • 技术发展面试
  • 坑!为什么View.startAnimation不起作用?
  • 面试遇到的一些题
  • 全栈开发——Linux
  • 如何设计一个微型分布式架构?
  • 微信小程序--------语音识别(前端自己也能玩)
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • #Z2294. 打印树的直径
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • (Forward) Music Player: From UI Proposal to Code
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (一)为什么要选择C++
  • (转)EOS中账户、钱包和密钥的关系
  • .form文件_SSM框架文件上传篇
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .Net CoreRabbitMQ消息存储可靠机制
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .NET简谈设计模式之(单件模式)
  • .NET中的Exception处理(C#)
  • @KafkaListener注解详解(一)| 常用参数详解
  • @Transient注解
  • [⑧ADRV902x]: Digital Pre-Distortion (DPD)学习笔记
  • [C/C++] C/C++中数字与字符串之间的转换
  • [C++]类和对象【下】
  • [Docker]四.Docker部署nodejs项目,部署Mysql,部署Redis,部署Mongodb
  • [EFI]DELL XPS13 9360电脑 Hackintosh 黑苹果efi引导文件
  • [FT]chatglm2微调
  • [MySQL]数据库基础