PHP命名大小写敏感规则

这篇文章介绍的内容是关于PHP命名大小写敏感规则,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下。

一直觉得PHP中各种大小写规则理不清,就连工作多年的老手们也不一定能对PHP大小写敏感问题足够了解。在PHP中,大小写敏感问题的处理比较乱,大家一定要注意。即使某些地方大小写不敏感,但在编程过程中能始终坚持“大小写敏感”是最好不过的。下面整理了一些大小写问题注意点:
大小写敏感
1、变量名区分大小写
所有变量均区分大小写,包括普通变量以 及$_GET,$_POST,$_REQUEST,$_COOKIE,$_SESSION,$GLOBALS,$_SERVER,$_FILES,$_ENV 等;

1

2

3

4

5

6

<?php

$abc = 'abc';

echo $abc;    //输出'abc'

扫描二维码关注公众号,回复: 3619029 查看本文章

echo $aBc;    //无输出

echo $ABC;    //无输出

?>

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

1

2

3

4

5

6

<?php

define('BLOGGER','Veitor');

echo BLOGGER;    //输出'Veitor'

echo BLOgger;    //报NOTICE提示,并输出'BLOgger'

echo blogger;    //报NOTICE提示,并输出'blogger'

?>

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

1

2

3

4

5

6

<?php

$arr = array('one'=>'first');

echo $arr['one'];    //输出'first'

echo $arr['One'];    //无输出并报错

echo $Arr['one'];    //上面讲过,变量名区分大小写,所以无输出并报错

?>

4、ThinkPHP中类命名空间区分大小写,引用是必须严格区分大小写,否则会出现找不到class的情况。

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

<?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__等都不区分大小写。

1

2

3

4

<?php

echo __LINE__;    //输出2

echo __line__;    //输出3

?>

3、 NULL、TRUE、FALSE不区分大小写
这个知道的人应该比较多就不举例了。
4、强制类型转换不区分大小写
如这些
(int),(integer) – 转换成整型
(bool),(boolean) – 转换成布尔型
(float),(double),(real) – 转换成浮点型
(string) – 转换成字符串
(array) – 转换成数组
(object) – 转换成对象
一般我们都小写,这个问题不大。
总的来说,容易搞不明白的就是变量、常量、类名、方法名和函数名,把这些记住对自己会有帮助的。

猜你喜欢

转载自blog.csdn.net/fuhanghang/article/details/83045162