当前位置:首页 > PHP教程 > php应用 > 列表

php入门级教程:PHP大小写问题

发布:smiling 来源: PHP粉丝网  添加日期:2015-12-12 14:51:12 浏览: 评论:0 

PHP大小写问题算是一个入门级的教程了,在此小编为php初学者介绍php开发中大小写的一些例子,希望可以帮助到各位。

今天写代码的时候发现自己代码的一处错误:

$m_category->Insert($data);

我调用了$m_category对象的insert方法,奇怪的是,我自己编写的框架里insert方法名是小写的,但是我这里调用的首字母大写了(公司的框架Model类的方法均为首字母大写,有时候习惯了回家写代码不容易写错)。

但是很奇怪的是,这段代码在之前的测试是通过的,并没有报错或什么,数据也正常写入了,有些思不得解,于是尝试做了一个实验。

就从控制器开始吧,我当前控制器中有一个方法是addWiki,那么我新增一个方法addwiki,然后等待了一下,IDE没有为我这个新的方法报错。松了一口气,看来PHP对大小写是敏感的。然后我尝试调用addwiki这个方法,这时候让我惊讶的事情发生了:PHP向我抛出了一个致命错误:addwiki无法被重定义。看样子PHP对方法名的大小写还是不敏感呀。

还是不死心,也许是我PHP配置的问题,于是上网查找之,找到了不少资料,原来PHP对类名和方法名是大小写不敏感的。

下面抄一些别处的资料,区分PHP大小写敏感的地方。

1.变量名区分大小写

2.常量名默认区分大小写

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

4.魔术常量不区分大小写,推荐大写

5.NULL、TRUE、FALSE不区分大小写

除了变量名和常量名区分大小写以外,其他统统不区分。不过在我们正常的使用中,都有常量名、魔术变量使用大写的习惯,而NULL、TRUE、FALSE在不少框架中也被推荐使用大写(虽然我自己喜欢用小写),因此问题也不大。据说常量名可以设置为大小写敏感,不过没去查找这方面资料,也不清楚了,当然还是按照约定来使用大写吧。

重点就在于类、方法、函数名这一点上,好吧,我一直认为类和方法名是大小写敏感的,至今才知道:-(

不过建议还是注意大小写的好,毕竟PHP不知哪天哪个版本就改掉了这条特性,不再支持大小写不敏感的函数、方法名了

为了让各位更深入了解php中大小写我们整理了一些例子

一、大小写敏感

1.变量名区分大小写

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

  1. $abc = 'abcd';  
  2. echo $abc//输出 'abcd'  
  3. echo $aBc//无输出  
  4. echo $ABC//无输出 

2.常量名默认区分大小写,通常都写为大写,但没找到能改变这个默认的配置项,求解.

  1. define("ABC","Hello World");  
  2. echo ABC; //输出 Hello World  
  3. echo abc; //输出 abc 

3.php.ini配置项指令区分大小写

如 file_uploads = 1 不能写成 File_uploads = 1

二、大小写不敏感

4.函数名、方法名、类名 不区分大小写,但推荐使用与定义时相同的名字

  1. function show(){  
  2. echo "Hello World";  
  3. }  
  4. show(); //输出 Hello World 推荐写法  
  5. SHOW(); //输出 Hello World 
  6.  
  7. <?php  
  8. class cls{  
  9. static function func(){  
  10. echo "hello world";  
  11. }  
  12. }  
  13. Cls::FunC(); //输出hello world 

5.魔术常量不区分大小写,推荐大写

包括:__LINE__、__FILE__、__DIR__、__FUNCTION__、__CLASS__、__METHOD__、__NAMESPACE__。

echo __line__; //输出 2

echo __LINE__; //输出 3

6.NULL、TRUE、FALSE不区分大小写

  1. $a = null;  
  2. $b = NULL;  
  3. $c = true;  
  4. $d = TRUE;  
  5. $e = false;  
  6. $f = FALSE;  
  7. var_dump($a == $b); //输出 boolean true  
  8. var_dump($c == $d); //输出 boolean true  
  9. var_dump($e == $f); //输出 boolean true 

7.类型强制转换,不区分大小写,包括:

* (int),(integer) – 转换成整型

* (bool),(boolean) – 转换成布尔型

* (float),(double),(real) – 转换成浮点型

* (string) – 转换成字符串

* (array) – 转换成数组

* (object) – 转换成对象

  1. $a=1;  
  2. var_dump($a); //输出 int 1  
  3. $b=(STRING)$a;  
  4. var_dump($b); //输出string '1' (length=1)  
  5. $c=(string)$a;  
  6. var_dump($c); //输出string '1' (length=1)

Tags: php入门教程 PHP大小写

分享到: