原来method_exists等方法不区分大小写

今天突然回头想想刚开发完项目的新功能,好像我新增的action都是以双单词出现的,如:=actionNewUser=,但是在Router中只是简单的对URL中action做=ucfirest(strtolower($action))=处理,百思不得其解,这尼玛怎么就能找到该action呢? 但是事实往往是红果果的,经过测试发现method\_exits和call\_user\_func\_array等方法不区分方名法大小写。

千言万语不如上一图: [[class_method_cas-640x150.jpg]]]]

原来是我了解得不够,下次一定记得,哈哈,还大惊小怪的!!!!

一、大小写敏感

  1. 变量名区分大小写
  2. 常量名默认区分大小写,通常都写为大写
  3. php.ini配置项指令区分大小写

二、大小写不敏感

  1. 函数名、方法名、类名 不区分大小写,但推荐使用与定义时相同的名字
  2. 魔术常量不区分大小写,推荐大写
  3. NULL、TRUE、FALSE不区分大小写
  4. 类型强制转换,不区分大小写,包括:

(int),(integer) -- 转换成整型

(bool),(boolean) -- 转换成布尔型

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

(string) -- 转换成字符串

(array) -- 转换成数组

(object) -- 转换成对象