【问题标题】:How can I create a PHP Class named after an existing one如何创建一个以现有类命名的 PHP 类
【发布时间】:2012-10-22 21:40:54
【问题描述】:

我正在寻找一个名为 List 的类,看起来很简单吧?不是训练有素的眼睛!我正在使用 PHP 5.3.1,由于已经有一个名为 List 的类或关键字,我无法创建具有此名称的类。有什么建议/解决方法吗?最好是其他命名约定以外的东西?

【问题讨论】:

  • 好吧,您可以使用class_alias("_List", "List"); 使其以所需的名称可用。但是实例化会导致相同的令牌错误,因此new $list 将是您的下一个解决方法...

标签: php list class


【解决方案1】:

List 是一个关键字。您不能将其用作类名。除了破解 PHP 的源代码之外,没有其他解决方法。

【讨论】:

  • 如果你知道,那你为什么问?
  • 我没有问它是否是关键字。我问它是否可以被覆盖。您对答案的编辑更好。
【解决方案2】:

好吧,因为List 是关键字,所以这是不允许的。但是,如果它“仅”是一个全局类,您可以使用不同的命名空间:

<?php

namespace DigJedi;

class ArrayIterator extends \ArrayIterator
{
}

【讨论】:

    【解决方案3】:

    正如@meagar 指出的那样,List 是一个关键字,因此在这种情况下您无能为力。

    但由于您使用的是 PHP 5.3,因此您可以利用 namespaces 在您想要定义函数或类时避免代码中的命名冲突。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多