¿Al crear mis propias clases en PHP debería extender stdClass?
Pregunta
Si bien no es necesario que una clase en PHP extienda explícitamente stdClass
, Me preguntaba si existe algún tipo de mejor práctica o beneficio al hacerlo.
¿Debería extenderme? stdClass
al declarar una clase?
Como referencia, consulte ¿Qué es stdClass en PHP? y PHP:Objetos, Convertir en objeto.
Solución
StdClass
está vacío y por lo tanto no tiene ningún beneficio al extenderlo.
solo estas desperdiciando extend
en tus __CLASS__
˙.
php --rc StdClass
Class [ <internal:Core> class stdClass ] {
- Constants [0] {
}
- Static properties [0] {
}
- Static methods [0] {
}
- Properties [0] {
}
- Methods [0] {
}
}
La única razón para extender stdClass
es para satisfacer una sugerencia de escritura contra esta clase; sin embargo, dicha sugerencia de escritura nunca debe usarse, por lo que este es un punto discutible.
Otros consejos
NO
Hay un uso divertido para extender STDCLASS: ($ OBJE INCLECTOF STDCLASS) RETRENDE VERDADERO y es 3 veces más rápido que IS_Object ($ objeto).Sin embargo, estamos hablando de una diferencia de 1 micro , sin embargo, y, desafortunadamente, a menos que lo convierta en una política estricta en todo el proyecto, puede convertirse fácilmente incoherente y, por lo tanto, más confuso que ayudar.De hecho, estoy decepcionado de saber que las clases PHP no extienden la Clase STD de forma predeterminada.Habría tenido sentido para mí.