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 .

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top