so_brave 发表于 2011-05-03 13:17

太可怕了:method_exists

太可怕了:method_existsclass A {

    public function xx(){

      echo 'xx';

    }

   

    public function yy() {

      echo 'yy';

    }

}



$obj = new A();



var_dump(method_exists($obj, 'Xx'));

var_dump(method_exists($obj, 'xx'));

var_dump(method_exists($obj, 'XX'));复制代码

以上三条输出都为true。class A {

    public function xx(){

      echo 'xx';

    }

   

    public function yy() {

      echo 'yy';

    }



    public function YY() {

      echo 'YY';

    }

}



$obj = new A();

$obj->yy();

$obj->YY();复制代码

以上语句报错。
今天才发现原来PHP的对象属性是不区分大小写的。感觉一个字:汗

a.a 发表于 2011-05-03 18:44

刚刚也测试了一把,果然是这样。代码一写完,phpdisigner就直接报错:不能重新声明第二个函数。
不过目前好像没有在我造成影响。

vus520 发表于 2011-05-04 11:21

PHP大小写是否敏感问题的汇总

http://www.4wei.cn/archives/1001310

a.a 发表于 2011-05-04 20:51

回复 3# vus520

感谢楼主分享,原来函数名、类名都是不区分大小写的。拜读并收藏,很好的总结。

stabilization 发表于 2011-05-05 09:34

回复 3# vus520


    这个太好了,感谢

maochanglu 发表于 2011-05-05 10:39

PHP的大小写敏感可以总结写“变量敏感,函数不敏感”,   老记不住。

只能强迫自己说 php所有的都是区分大小写。这样,你就不会搞错了。
页: [1]
查看完整版本: 太可怕了:method_exists