知识屋:更实用的电脑技术知识网站
所在位置:首页 > 编程技术 > PHP编程

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

发布时间:2015-02-02 18:03:44作者:知识屋

    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等;

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

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

1 <?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. 魔术常量不区分大小写,推荐大写

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


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

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

www.zhishiwu.com 
<?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

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

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

<?php 
$a=1; 
var_dump($a); //输出 int 1 
$b=(STRING)$a; 
var_dump($b); //输出string '1' (length=1) 
$c=(string)$a; 
var_dump($c); //输出string '1' (length=1)

以上就是电脑技术吧提供的php入门级教程:PHP大小写问题,更多PHP教程,请访问http://www.zhishiwu.com/bc/php/

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜