ThinkPHP8命名规范-ThinkPHP8知识详解

本文主要讲解thinkphp8的命名规范,主要包括:遵循PHP自身的PSR-2命名规范和PSR-4自动加载规范、目录和文件命名规范、函数和类、属性命名规范、常量和配置命名规范、数据表和字段命名规范、不能使用PHP保留字。

在使用thinkphp8开发项目之前,应理解并尽量遵循以下命名规范,可以减少在开发过程中出现不必要的错误。

ThinkPHP8命名规范

一、遵循PHP自身的PSR-2命名规范和PSR-4自动加载规范

二、目录和文件命名规范

目录使用小写+下划线;

类库、函数文件统一以.php为后缀;

类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致;

类(包含接口和Trait)文件采用驼峰法命名(首字母大写),其它文件采用小写+下划线命名;

类名(包括接口和Trait)和文件名保持一致,统一采用驼峰法命名(首字母大写);

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

类的命名采用驼峰法(首字母大写),例如 User、UserType;

函数的命名使用小写字母和下划线(小写字母开头)的方式,例如 get_client_ip;

方法的命名使用驼峰法(首字母小写),例如 getUserName;

属性的命名使用驼峰法(首字母小写),例如 tableName、instance;

特例:以双下划线__打头的函数或方法作为魔术方法,例如 __call 和 __autoload;

四、常量和配置命名规范

常量以大写字母和下划线命名,例如 APP_PATH;

配置参数以小写字母和下划线命名,例如 url_route_on 和url_convert;

环境变量定义使用大写字母和下划线命名,例如APP_DEBUG;

五、数据表和字段命名规范

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

六、不能使用PHP保留字

不能使用PHP保留字作为常量、类名和方法名,以及命名空间的命名,否则会造成系统错误。

1、关键词在 PHP 中有着特定的语法和功能,通过它们可以实现不同的编程逻辑和控制流程,从而构建出功能丰富的 PHP 应用程序。

2、这些词语在 PHP 中有着特殊的意义。

3、它们中有些像是函数,有些像是常量,但是它们不是真的,它们只是语言结构的一部分。

4、不能使用它们的任何一个作为常量、类名或函数名。

5、它们可以被用作类的属性、常量以及类的方法名,或者接口名和 traits 名,除了 class 不能被用作常量名。

关键词列表(一行五个)

function、global、goto、if、implements

include、include_once、instanceof、insteadof、interface

isset()、list()、match、namespace、new

or、print、private、protected、public

readonly、require、require_once、return、static

switch、throw、trait、try、unset()

use、var、while、xor、yield

yield from

编译时常量

__CLASS__、__DIR__、__FILE__、__FUNCTION__、__LINE__、__METHOD__、__NAMESPACE__、__TRAIT__

PSR-2命名规范、PSR-4自动加载规范及以上关键字的意思,到时候我们重新发文,进行详细解释。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/71845.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

pyspark笔记 pyspark.sql.functions

col qqpyspark 笔记 pyspark.sql.function col VS select_UQI-LIUWJ的博客-CSDN博客 取某一列 lit 创建一个包含指定值的列 date_trunc 将日期截取成由第一个参数指定的字符串值 year, yyyy, yy——截取到年month,mon,mm——截取到月day,dd ——截取到天microsecondmillis…

学习左耳听风栏目90天——第六天 6/90(学习左耳朵耗子的工匠精神,对技术的热爱)【如何拥有技术领导力】

学习左耳听风栏目90天——第六天 6/90(学习左耳朵耗子的工匠精神,对技术的热爱)【如何拥有技术领导力】

项目介绍:《WeTalk》网页聊天室 — Spring Boot、MyBatis、MySQL和WebSocket的奇妙融合

目录 引言: 前言: 技术栈: 主要功能: 功能详解: 1. 用户注册与登录: 2. 添加好友 3. 实时聊天 4. 消息未读 5. 删除聊天记录 6. 删除好友 未来展望: 项目地址: 结语&am…

预测算法|改进粒子群算法优化极限学习机IDM-PSO-ELM

回归拟合: 分类 本文是作者的预测算法系列的第四篇,前面的文章中介绍了BP、SVM、RF及其优化,感兴趣的读者可以在作者往期文章中了解,这一篇将介绍——极限学习机 过去的几十年里基于梯度的学习方法被广泛用于训练神经网络&am…

[gdc]Rendering ‘God of War Ragnark‘

gdc23, sony santa monica关于god of war的分享; back ground 作者stephen mcauley现在是santa monica的technical director;20年加入santa monica,作为rendering lead,有9年的经验,之前在ubisoft montre…

zookeeperAPI操作与写数据原理

要执行API操作需要在idea中创建maven项目 (改成自己的阿里仓库)导入特定依赖 添加日志文件 上边操作做成后就可以进行一些API的实现了 目录 导入maven依赖: 创建日志文件: 创建API客户端: (1&#xff09…

【uniapp】uniapp自动导入自定义组件和设置分包:

文章目录 一、自动导入自定义组件:二、设置分包和预加载: 一、自动导入自定义组件: 【Volar 官网】https://github.com/vuejs/language-tools 二、设置分包和预加载: 【官方文档】https://uniapp.dcloud.net.cn/collocation…

android开发之Android 自定义滑动解锁View

自定义滑动解锁View 需求如下: 近期需要做一个类似屏幕滑动解锁的功能,右划开始,左划暂停。 需求效果图如下 实现效果展示 自定义view如下 /** Desc 自定义滑动解锁View Author ZY Mail sunnyfor98gmail.com Date 2021/5/17 11:52 *…

开发工具Eclipse的使用之导入项目(import)

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于Eclipse使用的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.导读 二.详细操作步骤 1.右击项…

【深度学习】StyleGANv2 2019 论文,Analyzing and Improving the Image Quality of StyleGAN

StyleGAN论文: 《A Style-Based Generator Architecture for Generative Adversarial Networks》 论文:https://arxiv.org/abs/1812.04948 代码: https://github.com/NVlabs/stylegan StyleGANv2论文: 《Analyzing and Improving …

电池的正极是带正电?

首先说明结论:电池正极带正电,负极带负电。 一个错误的实例: 如果说电流是从电池正极流动到电池负极,那么电子就是从负极流动到正极,那么正极就是带负电。----这个说法是错误的。这是因为,根据那么很出名…

简绘ChatGPT支持Midjourney绘图 支持stable diffusion绘图

简绘支持Midjourney绘图和stable diffusion绘图。 这意味着简绘具备Midjourney绘图和stable diffusion绘图功能的支持。

无涯教程-Perl - redo函数

描述 此函数将重新启动当前循环,而不会强制判断控制语句。块中不再执行任何语句。如果存在继续块,将不会执行。如果指定了LABEL,则在LABEL标识的循环开始时重新开始执行。 语法 以下是此函数的简单语法- redo LABELredo返回值 此函数不返回任何值。 例 以下是显示其基本…

Shell编程之条件测试、if语句、case语句

条件语句 一、条件测试1.1 测试命令1.1 文件测试1.2 整数比较1.3 字符串比较1.4 逻辑测试1.4.1 逻辑与 &&1.4.2 逻辑或 || 1.4.3 组合应用1.5 多个命令组合执行 ( ) { } 二、if语句2.1单分支结构2.2 多分支结构2.4 if语句练习2.4.1 单分支2.4.2 简单的交互式分数反馈 三…

元宇宙核能发电VR模拟仿真实训教学为建设新型电力系统提供重要支撑

随着“碳达峰、碳中和”目标与建设新型能源体系的提出,在元宇宙环境下建设电力系统是未来发展的趋势。以物联网、区块链、数字孪生、混合现实等技术为主要代表的元宇宙技术体系及其在电力和能源系统中的应用,将会促进智能电网的发展,为建设新…

VR安全宣传系列:防触电虚拟现实体验

在电气工作中,安全问题始终是重中之重。为了更好地提高公众的电气安全意识和技能,广州华锐互动开发了一种基于虚拟现实技术的模拟系统——VR防触电虚拟体验系统。这种系统可以模拟各种因操作不当导致的触电事故场景,并提供沉浸式的体验&#…

利用OpenSSL实现私有 CA 搭建和证书颁发

利用OpenSSL实现私有 CA 搭建和证书颁发 一、私有 CA 搭建1. 安装openssl2. 配置 openssl3. 生成 CA 自己的私钥4. 生成 CA 自己的自签证书5. 验证自签证书 二、向私有CA申请证书流程1. 生成应用私钥文件2. 根据应用私钥生成证书申请文件3. 向CA请求颁发证书4. 验证应用证书5. …

2022年09月 C/C++(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

第1题&#xff1a;指定顺序输出 依次输入3个整数a、b、c,将他们以c、a、b的顺序输出。 时间限制&#xff1a;1000 内存限制&#xff1a;65536 输入 一行3个整数a、b、c&#xff0c;以空格分隔。 0 < a,b,c < 108 输出 一行3个整数c、a、b&#xff0c;整数之间以一个空格分…

腾讯云服务器标准型CVM实例详细介绍S5/S6/SA2/SR1/SA3/S4等

腾讯云CVM服务器标准型实例的各项性能参数平衡&#xff0c;标准型云服务器适用于大多数常规业务&#xff0c;例如&#xff1a;web网站及中间件等&#xff0c;常见的标准型云服务器有CVM标准型S5、S6、SA3、SR1、S5se等规格&#xff0c;腾讯云服务器网来详细说下云服务器CVM标准…

使用sqlplus连接oracle,提示ORA-01034和ORA-27101

具体内容如下 PL/SQL Developer 处 登录时 终端处 登录时 ERROR: ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist Process ID: 0 Session ID: 0 Serial number: 0 解决方法是执行以下命令 sqlplus /nolog conn / as sysdba startup …