Risposte:
Posso dire con circa il 99,9999% di certezza che WordPress non diventerà mai completamente OOP nella versione futura, non ultimo il fatto che l'argomento sia tornato più volte nell'elenco di wp-hacker e i membri del team principale non abbiano espresso interesse per così facendo.
Mentre osservo la mia esperienza personale con la programmazione e l'insegnamento di OOP a partire dal 1990, sono d'accordo con il nucleo centrale e penso che OOP completo sarebbe un errore. Anche se una volta ero un fanatico di OOP e pensavo che OOP fosse una panacea, da allora sono arrivato a credere che abbia il suo valore in alcuni contesti, ma in altri contesti si frappone.
Uno dei maggiori problemi che ho riscontrato con OOP è che costringe lo sviluppatore a infornare in struttura molto prima che lo sviluppatore capisca effettivamente quale struttura dovrebbe essere che porta quindi al fragile problema della classe base .
Naturalmente per determinati aspetti di WordPress, OOP ha molto senso e se studi core troverai tali classi; Widget
, List_Tables
(in 3.1) , ecc.
A questo punto sono felice di lavorare con WordPress in un paradigma per lo più non OOP e pensare che se fosse stato OOP puro WordPress non avrebbe mai guadagnato quanto segue. Perché? Poiché OOP avrebbe alzato il livello di complessità per gli aspiranti temi di WordPress e sviluppatori di plug-in, e probabilmente avrebbe portato a un'applicazione che non era abbastanza flessibile da evolversi mentre il team principale imparava di più sulle esigenze dei suoi utenti in passato 6 anni.
FWIW.
Molti componenti WP vengono riscritti nel codice OOP ad ogni nuova versione, e i nuovi componenti tendono a farne uso (ad esempio la WP_Customizer
cosa). Ma se stai chiedendo se WP cambierà la sua architettura in una completamente orientata agli oggetti - allora no, al momento non ci sono informazioni che suggeriscono una cosa del genere.
Non andrei così lontano per dire che non accadrà mai, ma è improbabile che lo farà nel prossimo futuro, e probabilmente non a causa del problema della "classe base" :)
Innanzitutto, ci sono solo svantaggi nell'utilizzo del codice procedurale su OOP per un'applicazione CMS come WordPress, semplicemente perché tali app sono pensate per essere estese tramite plugin. Inserendo un mix di funzioni e variabili globali non è affatto più facile. Al momento in cui il WP è stato scritto, nessuno avrebbe potuto prevedere cosa sarebbe diventato il WP e sarebbero state fatte molte scelte sbagliate. Ora è abbastanza difficile recuperare, perché la maggior parte dei plugin e dei temi smetterebbe di funzionare correttamente. L'implementazione di un enorme livello di compatibilità per evitare che probabilmente rallenterebbe il WP e aggiungerebbe ancora più confusione tra gli sviluppatori. Pensa anche allo scopo: facilitare la vita degli sviluppatori, a spese degli utenti?
Se aiuta - una discussione molto antica sugli hacker di wp ma ancora rilevante per questo argomento, e un'idea proposta dalla comunità, ora etichettata come "territorio di plugin". Non ho notato altre attività in questa direzione di recente.