8

PHP大小写问题整理

 2 years ago
source link: http://hustnaive.github.io/php/2015/06/30/php-lowcase-and-upcase-confusion.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

PHP大小写问题整理


PHP对大小写敏感问题的处理比较乱,写代码时可能偶尔出问题,所以这里总结一下。 但我不是鼓励大家去用这些规则。推荐大家始终坚持“大小写敏感”,遵循统一的代码规范。

1、变量名区分大小写

代码如下:

 <?php
 $abc = 'abcd';
 echo $abc; //输出 'abcd'
 echo $aBc; //无输出
 echo $ABC; //无输出

2、常量名默认区分大小写,通常都写为大写

(但没找到能改变这个默认的配置项,求解)

代码如下:

 <?php
 define("ABC","Hello World");
 echo ABC; //输出 Hello World
 echo abc; //输出 abc

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

如 file_uploads = 1 不能写成 File_uploads = 1

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

但推荐使用与定义时相同的名字

代码如下:

 <?php
 function show(){
 echo "Hello World";
 }
 show(); //输出 Hello World 推荐写法
 SHOW(); //输出 Hello World

代码如下:

 <?php
 class cls{
 static function func(){
 echo "hello world";
 }
 }
 Cls::FunC(); //输出hello world

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

包括:LINEFILEDIRFUNCTIONCLASSMETHODNAMESPACE

代码如下:

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

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

代码如下:

 <?php
 $a = null;
 $b = NULL;
 $c = true;
 $d = TRUE;
 $e = false;
 $f = FALSE;
 var_dump($a == $b); //输出 boolean true
 var_dump($c == $d); //输出 boolean true
 var_dump($e == $f); //输出 boolean true 

PHP变量名区分大小写,函数名不区分大小写,经常被新手忽视的小细节:

<?php 
    $aaa = "jb51.net"; 
    $AAA = "JB51.CN"; 
    echo $aaa.'-'.$AAA;  //jb51.net-JB51.CN 
?> 

PHP函数名不区分大小写测试:

<?php 
    function bbb(){ 
        echo 'abc'; 
    } 
    function BBB(){ 
        echo "Abc"; 
    } 
?>  上面这段代码会报错:( ! ) Fatal error: Cannot redeclare BBB()

对于代码文件名,路径:针对window而言,不区分大小写,对于Linux则区分大小写。这在配合autoload组织代码的时候非常重要,如果这里不注意,经常会导致在开发环境(window)没问题,而在生产环境则会出问题(文件没找到,类没找到之类的)。


来源:http://www.jb51.net/article/38579.htm


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK