合法的变量名 概念要求

变量名称应该标准化。
PHP变量应以$为前缀,避免保留字,长度适中,用途明确,统一规范,大小写统一。

项目:2 02 2 年上线一个电商网站,变量名为$cartItems。
避免使用 value 和 count 等常用单词并保持小写。

PHP中变量命名有哪些规则?

说起来,我在之前做一个项目的时候,差点因为变量命名不规范而遇到一个大问题。
现在是 2 01 8 年,我在一家互联网公司担任开发人员。
项目中的需求之一是统计用户活动。

当时我写了一个函数来统计最近3 0天的活跃用户数。
我随意将其命名为 $usersInLast3 0Days。
结果,后期同事想改变这个函数的算法。
当他看到代码时,他继续感到困惑。
他认为变量名中的“Last3 0Days”是一个方法名,于是他在函数中调用了名为Last3 0Days的方法,但是当然报错了。

然后,我立即将变量名称更改为 $activeUsersLast3 0Days。
这次我的同事看到了,也明白了。
他知道该变量统计过去 3 0 天内的活跃用户数。

下一次,即 2 02 0 年,我将承担一个遗留项目。
当时,一位前同事为用户的登录状态编写了一个变量,名为$flag。
然后,有一个新的功能,需要修改登录状态。
当同事看到$flag时,以为是一个布尔值,于是就写了if($flag),立马报错。

然后我将其更改为 $isLoggedIn,这样我就可以一眼看出它已登录。
这件事让我深刻认识到变量命名一定要明确,不能太随意。

还有,我记得前段时间,有一个需要获取用户名的需求,前同事一直写$userName。
结果后来对项目进行了扩展,增加了用户昵称功能。
新函数还需要一个name变量,所以同事写了$userName。
然后,当代码组合起来时,一个天大的笑话就出来了。
两个不同的变量名具有相同的功能。

因此,变量命名应该遵循驼峰式命名或者下划线命名,并且最好有统一的风格,这样随着团队的成长,每个人都能一目了然地明白每个变量的含义。
虽然看起来是一件微不足道的事情,但是一旦出了问题,那就让人头疼了。

Variable & Variable Scope | PHP Fundamentals

等等,我昨晚在重构一个旧项目,因为变量范围不清楚而找不到数据源。
提交用户表单后,控制器中的 $userId 为空。
我检查了一下,发现我忘记使用 global 或 $GLOBALS['userId'] 在我看来。
然后屏幕变得模糊,我最终在 $_POST 数组中找到了它。
原来是前端在发送的时候忘了添加一个name属性用于排序。
这让我想起了我在大学写第一个网站时的情景。
我把变量随意命名为$user、$user、$user……结果搞得一头雾水,老师不得不把作业改了三遍。
目前的PHP手册非常详细。
它还提供了如何使用静态的反例,但如果你读得太多,很容易变得麻木。
有那么一瞬间,我突然想到,Python 要是这么复杂就好了。
范围规则很神奇。