PHP命名大小写敏感规则

一直觉得PHP中各种大小写规则理不清,就连工作多年的老手们也不一定能对PHP大小写敏感问题足够了解。在PHP中,大小写敏感问题的处理比较乱,大家一定要注意。即使某些地方大小写不敏感,但在编程过程中能始终坚持“大小写敏感”是最好不过的。下面整理了一些大小写问题注意点:

大小写敏感

1. 变量名区分大小写
所有变量均区分大小写,包括普通变量以 及$_GET,$_POST,$_REQUEST,$_COOKIE,$_SESSION,$GLOBALS,$_SERVER,$_FILES,$_ENV 等;

<?php
$abc = ‘abc‘;
echo $abc;    //输出‘abc‘
echo $aBc;    //无输出
echo $ABC;    //无输出
?>

2、常量名区分大小写

使用define定义的常量是区分大小写的。

<?php
define(‘BLOGGER‘,‘Veitor‘);
echo BLOGGER;    //输出‘Veitor‘
echo BLOgger;    //报NOTICE提示,并输出‘BLOgger‘
echo blogger;    //报NOTICE提示,并输出‘blogger‘
?>

3、数组索引(键名)区分大小写

<?php
$arr = array(‘one‘=>‘first‘);
echo $arr[‘one‘];    //输出‘first‘
echo $arr[‘One‘];    //无输出并报错
echo $Arr[‘one‘];    //上面讲过,变量名区分大小写,所以无输出并报错
?>

大小写不敏感

1. 函数名、方法名、类名不区分大小写

虽然这些不区分大小写,但坚持“大小写敏感”原则,建议还是使用与定义时相同大小写的名字

<?php
class Test
{
    static public function Ceshi()
    {
        echo ‘123‘;
    }

    public funcion Dxx()
    {
        echo ‘321‘;
    }
}

$obj = new Test;
$obj->Dxx();    //成功实例化Test类,并调用Dxx方法输出‘321‘
$obj->dxx();    //成功实例化Test类,并调用Dxx方法输出‘321‘
$obj = new test;
$obj->Dxx();    //成功实例化Test类,并调用Dxx方法输出‘321‘
$obj->dxx();    //成功实例化Test类,并调用Dxx方法输出‘321‘

Test::Ceshi();    //输出‘123‘
test::Ceshi();    //输出‘123‘
Test::ceshi();    //输出‘123‘
test::ceshi();    //输出‘123‘
?>

2、魔术常量不区分大小写

一些魔术常量包括:__LINE__、__FILE__、__DIR__、__FUNCTION__、__CLASS__、__METHOD__、 __NAMESPACE__等都不区分大小写。

<?php
echo __LINE__;    //输出2
echo __line__;    //输出3
?>

3、 NULL、TRUE、FALSE不区分大小写

这个知道的人应该比较多就不举例了。

4、强制类型转换不区分大小写

如这些

(int),(integer) – 转换成整型
(bool),(boolean) – 转换成布尔型
(float),(double),(real) – 转换成浮点型
(string) – 转换成字符串
(array) – 转换成数组
(object) – 转换成对象

一般我们都小写,这个问题不大。

总的来说,容易搞不明白的就是变量、常量、类名、方法名和函数名,把这些记住对自己会有帮助的。

时间: 2024-12-29 18:08:30

PHP命名大小写敏感规则的相关文章

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则 用了几天时间看了一下开源框架Caliburn.Micro 这是他源码的地址http://caliburnmicro.codeplex.com/ 文档也写的很详细,自己在看它的文档和代码时写了一些demo和笔记,还有它实现的原理记录一下 学习Caliburn.Micro要有MEF和MVVM的基础 先说一下他的命名规则和引导类 以后我会把Caliburn.Micro的 Actions IResult,IHandle ICondu

Objective-C中的一些方法命名“潜规则”

在基于Apple Xcode的Objective-C中,有一些方法命名潜规则,比如就property而言,假定你定义了如下property: @interface MyObject @property (nonatomic, retain) NSString *myName; @end 那么系统将会自动对MyObject类生成: - (NSString*)myName; - (void)setMyName:(NSString*)name; 这一对方法. 而对于初始化而言,init打头的方法以及n

java中包命名常见规则

做java的都知道java的包.类.接口.枚举.方法.常量.变量等等模型都有一套约定的命名规则! 学习每一种语言都应该学习对应语法和命名规则,以保持一个良好的编码风格.一来显示自己的专业.二来方便阅读和检查,快速供其他人参考,尽快理解项目代码结构! 今天首先谈谈一些常用的java package命名规则,以后有时间再写写java其他的一些规范! 首先我们该知道的是,java的包名都是由小写单词组成的,类名的首字母都是大写,也就是我们常用的驼峰写法,包路径一般都是对系统模板的定义与归类.这样看了包

前端变量命名之规则

无论是从技术角度还是开发视角,对于web前端开发规范文档都有一定规范,本文就css3和html5的发展前景总结了一系列的web开发文档,仅供大家参考. 规范目的: 为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护, 输出高质量的文档, 特制订此文档. 本规范文档一经确认, 前端开发人员必须按本文档规范进行前台页面开发. 本文档如有不对或者不合适的地方请及时提出, 经讨论决定后方可更改. 基本准则: 符合web标准, 语义化html, 结构表现行为分离, 兼容性优良. 页面性能方面,

[Js高手之路第一部]JavaScript上百例实战【新版】_2 javascript变量命名&amp;使用规则

变量 1,什么是变量 变量是内存中用来存储数据的一块区域 2,变量的命名规则 3,怎么使用变量 var 变量名 =(赋值) 10 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 <script> 7 var name='name'; 8

CSS命名规范(规则)常用的CSS命名规则

头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体佈局宽度:wrapper 左右中:left right center 登录条:loginbar 标志:logo 广告:banner 页面主体:main 热点:hot 新闻:news 下载:download 子导航:subnav 菜单:menu 子菜单:submenu 搜索:search 友情链接:friendlink 页脚:footer 版权:co

MySQL大小写敏感问题和命名规范

注:本文大部内容参考自互联网相关文章 1.MySQL大小写敏感规则 MySQL中,一个库会对应一个文件夹,库里的表会则以文件的方式存放在文件夹内,所以,操作系统对大小写的敏感性决定了数据库和表的大小写敏感(MySQL有一个只读的系统变量lower_case_file_system,其值反映的正是当前文件系统是否区分大小写)因此:在Windows下Mysql的数据库和表名是大小写不敏感的,而在大多数类型的Unix系统中是大小写敏感的. 以下是MySQL详细的大小写区分规则: 在Linux下: 1.

微信认证命名规则调整 未来已认证帐号或可改名

取个简洁好听的名字是运营微信公众号的基础,运营者对命名规则关注点极高,昨日,微信团队对微信公众号认证规则进行调整,并对规则做了详细讲解. 1. 微信认证命名即使没有商标,也无需再加公司名称或简称: 2. 新注册公众帐号名称将不能与取得微信认证的帐号重名. 具体规则会带来哪些变化,请看以下热点问答: Q:新申请认证的帐号叫什么都可以吗? A:微信认证是对公众号主体信息的认证,微信认证只对公众号主体信息的认证负责. 对于新申请认证的公众号的名称,只要不侵权,不违法,不违反微信公众平台运营规则,不跟已

权威发布:长链非编码RNA命名规则

转自:http://blog.sina.com.cn/s/blog_8088f3700101pab7.html 权威发布:长链非编码RNA命名规则 对于人类基因命名标准的制定而言,雨果基因命名委员会(HGNC)是唯一官方授权的机构.HGNC的数据库中有38000个基因名称,其中大部分是编码蛋 白基因:但HGNC也命名了8500多个人类非编码基因及假非编码基因,通过与各层次专家们的合作,他们命名了大多数的小非编码RNA. 小非编码RNA一般可根据它们的同源性及相同功能来分类.相比而言,长链非编码R