6

最近我开始将我的框架转换为使用 php 命名空间,一个我似乎无法找到答案的问题是 - 使用保留字如“对象”、“数组”、“字符串”是否“合法” ' 作为该命名空间中的命名空间和类名?一个例子是:

namespace System\Object;


class String { }

class Array { }
4

1 回答 1

10

PHP 会抛出如下错误:

Parse error: syntax error, unexpected T_ARRAY, expecting T_STRING

如果你试试:

class Array
{

}
$myClass = new Array;

相反,尝试类似

class myArray
{

}
$myClass = new myArray;

[编辑] 我会详细说明一下,它们被保留是有原因的,因为在上面的第一个场景中,PHP 无法区分定义数组或初始化同名类之间的区别,所以它会抛出一个错误。没有办法像在 MySQL 中那样解决这个问题,例如,您可以使用反引号来转义保留字。所以在 PHP 中你不得不改变名字,你不必改变太多,只要你不使用与保留字完全相同的名字,一个字符就可以了。

希望有帮助!

于 2012-08-03T08:34:11.713 回答