PHPで自分のクラスを作成するときは、STDCLASSを拡張する必要がありますか?

StackOverflow https://stackoverflow.com//questions/23045119

  •  21-12-2019
  •  | 
  •  

質問

PHPのクラスが明示的にstdClassを拡張するために必要ではないが、私はある種のベストプラクティスがあるかどうか、またはそうすることで利益があるかどうか疑問に思いました。

クラスを宣言するときにstdClassを拡張する必要がありますか?

参照のために、 phpのstdclassとは何ですか? php:オブジェクト、オブジェクトに変換します。

役に立ちましたか?

解決

StdClassは空であるため、それを拡張する際に利点はありません。

extendňの__CLASS__を無駄にしています。

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

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [0] {
  }

  - Methods [0] {
  }
}
.

stdClassを拡張する唯一の理由は、このクラスに対してTypehintを満たすことです。ただし、このようなTypeHintは決して使用されてはいけません。

他のヒント

NO

STDCLASSを拡張するための楽しいものが1つあります。($ OBJECT INSTANOF STDCLASS)はtrueを返し、is_object($ Object)よりも3倍速です。私たちは1 Micro 2番目の違いを話していますが、残念ながら、プロジェクト全体を通して厳密な方針にしない限り、それは簡単にインコヒーレントになり、したがって助けよりも混乱を招くことができます。実際、PHPクラスがデフォルトでSTDCLASSを拡張しないことを学ぶことに失望しました。私にとって理にかなっただろう。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top