当我学习PHP时,我在某处读到你应该总是使用大写版本的布尔值,TRUE并且FALSE,因为"普通"小写版本,true并且false使用起来并不"安全".
它已经很多年了,我编写的每个PHP脚本都使用大写版本.但是,我现在质疑,因为我已经看到大量用小写版本编写的PHP(即Zend Framework).
是/有没有理由使用大写版本,还是完全可以使用小写?
编辑:忘了提及这适用于NULL和null.
PHP中的函数和方法不区分大小写,如以下示例所示.
function ag()
{
echo '2';
}
Ag();
class test {
function clMe()
{
echo 'hi';
}
}
$instance = new test;
$instance->clme();
Run Code Online (Sandbox Code Playgroud)
但这不是变量的情况.理由是什么?
在PHP中,变量和常量名称区分大小写,而函数名称则不区分大小写.
据我所知,PHP是发生这种情况的唯一语言.我使用的所有其他语言要么完全区分大小写,要么完全不区分大小写.
为什么PHP 部分区分敏感?
请注意,我不是问哪些名称区分大小写,而是为什么.
更新
我想我可以补充说,对于那些谁觉得我问的利益这,下面的列表:
区分大小写
不区分大小写
注意:
class关键字是不区分大小写class List {
public function hello()
{
return "hello";
}
}
$list = new List;
echo $list::hello();
Run Code Online (Sandbox Code Playgroud)
给出错误:
PHP Parse error: syntax error, unexpected 'List' (T_LIST), expecting identifier (T_STRING) in /home/WtGTRQ/prog.php on line 3
Run Code Online (Sandbox Code Playgroud)
将"List"更改为"Lizt"可以解决问题.
我遗憾地理解Php函数不区分大小写,但我真的不想让List对象成为Lizt对象...有没有办法在没有重命名我的类的情况下绕过它?
更新
有没有办法在 PHP 中强制区分大小写的函数名称,即使这意味着重新编译 PHP?
php.ini吗?C/C++源代码- 并使其作为- 这可以被 apache 配置覆盖的选项可用,并且在运行时与?
php.ini.htaccessini_set()有很多答案可以证实:
这个问题是关于控制情况的,因为如果您有以下问题,会很痛苦:
<?
define('List', ':List:');
die(List);
?>
Run Code Online (Sandbox Code Playgroud)
解析错误:语法错误,意外的 ')',期待 '('
在上面的例子中,“内在”函数名list干扰了“用户定义”常量,List而不是“好”的方式——因为它会导致解析错误。
我知道很多 PHP 开发人员不太关心“区分大小写”,也没有看到这样做的必要;但是,如果您正在构建一个整洁的样板,或者一个具有明确定义的数据类型作为短词的框架(出于比较原因),那么这是一个问题,因为您针对的是大量受众。
任何输入将不胜感激,谢谢。
在这个OOP 教程中,我注意到以下代码:
public function validate(Array $data, Array $rules){}
Run Code Online (Sandbox Code Playgroud)
我的问题是这是否与以下相同:
public function validate(array $data, array $rules){}
Run Code Online (Sandbox Code Playgroud)
在PHP.net 文档中,我只能找到对第二种形式的引用。