最近我开始转换我的框架以使用php命名空间和一个我似乎无法找到答案的问题 - 使用保留字如“对象”,“数组”是否“合法” ,'String'作为该命名空间中的命名空间和类名?一个例子是:
namespace System\Object;
class String { }
class Array { }
答案 0 :(得分:9)
PHP会抛出错误,如:
Parse error: syntax error, unexpected T_ARRAY, expecting T_STRING
如果您尝试:
class Array
{
}
$myClass = new Array;
相反,尝试类似
的内容class myArray
{
}
$myClass = new myArray;
[edit]我会详细说明一点,它们是有原因保留的,因为在上面的第一个场景中,PHP无法区分你定义一个数组或初始化一个类的同名,所以它会抛出一个错误。例如,在MySQL中没有办法解决这个问题,你可以用反引号来逃避保留字。因此在PHP中你被迫改变名称,你不必更改它,只要你没有使用与保留字完全相同的名字,就会有一个字符。
希望有所帮助!