Quando crei le mie classi in PHP dovrei estendere lo stdclass?
Domanda
Mentre non è necessario per una classe in PHP di estendere esplicitamente stdClass
, mi stavo chiedendo se c'è qualche tipo di migliore pratica o beneficio nel farlo.
Dovrei estendere stdClass
quando dichiara una classe?
Per riferimento, vedere Cos'è stdclass in PHP? e php: oggetti, conversione in oggetto .
Soluzione
StdClass
è vuoto e quindi non hai alcun vantaggio nell'estendere.
Stai solo sprecando extend
nel tuo __CLASS__
˙.
php --rc StdClass
Class [ <internal:Core> class stdClass ] {
- Constants [0] {
}
- Static properties [0] {
}
- Static methods [0] {
}
- Properties [0] {
}
- Methods [0] {
}
}
.
L'unico motivo per estendere stdClass
è soddisfare una tipo di diputata contro questa classe, tuttavia, tale tipo di tipo non dovrebbe mai essere usato, in quanto tale è un punto moot.
Altri suggerimenti
no
C'è un uso divertente per estendere lo stdclass: ($ oggetto instanceof stdclass) restituirà true ed è 3x più veloce di is_object ($ oggetto).Stiamo parlando a 1 micro seconda differenza, però e sfortunatamente, a meno che tu non lo renda una rigida politica in tutto il progetto, può facilmente diventare incoerente e quindi più confuso che aiutare.In effetti, sono deluso per sapere che le classi PHP non estendono la stdclass per impostazione predefinita.Avrebbe avuto senso per me.