在PHP中创建自己的类时,我应该扩展stdClass吗?

seb*_*taz 3 php extend stdclass

虽然PHP中的类不需要明确扩展stdClass,但我想知道这样做是否存在某种最佳实践或好处.

stdClass在宣布上课时我应该延长吗?

有关参考,请参阅PHP中的什么是stdClass?PHP:对象,转换为对象.

Dej*_*vic 12

StdClass 是空的,因此扩展它没有任何好处.

你只是浪费extend在你的__CLASS__˙.

php --rc StdClass
Class [ <internal:Core> class stdClass ] {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [0] {
  }

  - Methods [0] {
  }
}
Run Code Online (Sandbox Code Playgroud)

扩展的唯一原因stdClass是为了满足这个类的类型提示 - 但是,永远不应该使用这样的类型提示,因此这是一个有争议的问题.

  • 从stdClass扩展有一个好处.它只会让您的类具有开箱即用的动态属性.实现相同的另一种方法是实现ArrayAccess和Countable接口. (7认同)

ter*_*ško 5

没有           

  • @BhavikAmbani:仅仅因为答案很短,并不意味着它需要成为评论.自己阅读自动评论.他是在"批评"还是"要求作者澄清"?不,他没有.在粘贴对合法答案的自动评论之前,请先了解答案和评论之间的区别. (4认同)
  • 既然你似乎对它感到困惑,那么@BhavikAmbani,lemme解释道.**我正在说明一点.**哎呀,我甚至做了CW,没有在非问题上得到这个非答案的任何代表. (3认同)
  • 这并没有提供问题的答案.要对作者进行批评或要求澄清,请在帖子下方留言. (2认同)
  • @BhavikAmbani:实际上,它为问题提供了一个非常清晰、简洁和正确的答案。不。 (2认同)
  • 我希望这个答案更清楚. (2认同)