【问题标题】:How to use default php classes in my namespace?如何在我的命名空间中使用默认的 php 类?
【发布时间】:2012-08-28 04:31:30
【问题描述】:

我正在使用命名空间来解决我在项目中使用的两个 SDK 中的类名冲突

我已经在其中一个文件中声明了一个名称空间,例如

namespace temp;

class abc extends stdClass
{
  // my class def
} 

当我点击这段代码时,我收到错误提示找不到 temp/stdClass,所以我需要使用所有默认的 php 结构、迭代器等接口,所以我如何导入 php 的默认命名空间或做任何其他设置我失踪了吗?

【问题讨论】:

  • 你已经声明 stdclass 属于全局范围使用,使用 \stdClass
  • class abc extends \stdClass 也可以。
  • 但我的问题是我已经构建了 SDK,如果这样做,我将不得不修改 100 行。

标签: php namespaces


【解决方案1】:

在任何全局类、函数和常量之前添加\(在您的示例中为stdClass)。 Here 是更多关于如何使用命名空间的信息。

【讨论】:

  • 但我的问题是我已经构建了 SDK,如果这样做,我将不得不修改 100 行。有没有类似使用默认的东西,所以所有默认的类和接口都可以扩展或实现
  • 在这种情况下,在类声明之后(类完成后)声明命名空间
  • @RupeshPatel 几乎所有 IDE 都有 replace all 工具。
  • @Poonam 你能否用一些代码分享你的建议,以便我接受答案
  • 我的支持.. 我花了一些时间才弄清楚这里发生了什么.. 感谢您的回答。 @miniHouse,示例是简单地将示例问题中的行更改为class abc extends \stdClass
猜你喜欢
  • 1970-01-01
  • 2010-10-14
  • 2016-03-13
  • 2013-09-06
  • 2015-07-28
  • 2020-11-17
  • 2014-04-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多