PHPで自分のクラスを作成するときは、STDCLASSを拡張する必要がありますか?
質問
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を拡張しないことを学ぶことに失望しました。私にとって理にかなっただろう。
所属していません StackOverflow