Respuestas:
Puedo decir con aproximadamente un 99.9999% de certeza de que WordPress nunca se convertirá completamente en POO en futuras versiones, entre otras cosas, que el tema ha aparecido una y otra vez en la lista de wp-hackers y los miembros del equipo central no han expresado interés en haciéndolo.
Cuando miro mi experiencia personal con la programación y la enseñanza de OOP a partir de 1990, estoy de acuerdo con el equipo central y creo que sería un error completar la OOP. Aunque una vez fui fanático de OOP y pensé que OOP era una panacea, desde entonces he llegado a creer que tiene su valor en algunos contextos, pero en otros contextos se interpone en el camino.
Uno de los mayores problemas que he encontrado con OOP es que obliga al desarrollador a hornear la estructura mucho antes de que el desarrollador realmente comprenda cuál debería ser esa estructura, lo que luego conduce al frágil problema de la clase base .
Por supuesto, para aspectos seleccionados de WordPress, OOP tiene mucho sentido y si estudias core encontrarás tales clases; Widget
, List_Tables
(en 3.1) , etc.
En este punto, estoy feliz de trabajar con WordPress en un paradigma mayormente ajeno a OOP y creo que si hubiera sido OOP puro, WordPress nunca habría obtenido lo siguiente. ¿Por qué? Debido a que OOP habría elevado el nivel de complejidad para los aspirantes a desarrolladores de plugins y temáticos de WordPress, y probablemente habría resultado en una aplicación que no era lo suficientemente flexible como para evolucionar a medida que el equipo central aprendió más sobre las necesidades de sus usuarios en el pasado 6 años.
FWIW
Muchos de los componentes de WP se reescriben en el código OOP con cada nueva versión, y los nuevos componentes tienden a utilizarlo (por ejemplo, la WP_Customizer
cosa). Pero si está preguntando si WP cambiará su arquitectura a una totalmente orientada a objetos, entonces no, actualmente no hay información que sugiera tal cosa.
No iría tan lejos para decir que nunca sucederá, pero es poco probable que ocurra en el futuro cercano, y probablemente no por el problema de la "clase base" :)
En primer lugar, solo hay desventajas en el uso de código de procedimiento sobre OOP para una aplicación CMS como WordPress, simplemente porque dichas aplicaciones están destinadas a extenderse a través de complementos. Agregar una combinación de funciones y variables globales no hace que esto sea más fácil. En el momento en que se escribió WP, nadie podría haber predicho en qué se convertiría WP y se tomaron muchas malas decisiones. Ahora es bastante difícil ponerse al día, porque la mayoría de los complementos y temas dejarían de funcionar correctamente. Implementar una gran capa de compatibilidad para evitar eso probablemente ralentizaría WP y agregaría aún más confusión entre los desarrolladores. También piense en el propósito: ¿facilitar la vida de los desarrolladores, a expensas de los usuarios?
Si ayuda, una discusión muy antigua sobre wp-hackers pero aún relevante para este tema, y una idea propuesta por la comunidad, ahora etiquetada como "territorio de plugins". No he notado otra actividad en esta dirección recientemente.