¿WordPress está orientado a objetos?Una exploración en profundidad

Aquí, en WPShout, tenemos algunos tutoriales exhaustivos sobre el uso de la orientación de objetos como desarrollador de WordPress. Esperamos haber explicado de manera convincente que es bastante común y fácil para un desarrollador escribir algo al programar WordPress que es OO. Muchos complementos que ve son esencialmente complementos de WordPress orientados a objetos. Lo que quiero explorar hoy es una pregunta más esotérica: ¿WordPress es un sistema orientado a objetos? O, en resumen, “¿WordPress OOP?” A medida que entro en más detalles, no creo que sea correcto (como escribo esto a principios de 2019) decir que WordPress PHP o WordPress JavaScript están “orientados a objetos”. Los lenguajes de programación de WordPress varían un poco sobre cuán relevante es esta pregunta. Pero para decir más al respecto, primero debemos abordar lo que es “un sistema orientado al objeto”. Entonces podemos ingresar los argumentos específicos y sutiles para decir “sí” o “no” a “¿está orientado a WordPress en objetos?”
¿Qué significa el código PHP estar “orientado a objetos”? Como discutimos mucho, especialmente durante nuestra programación gratuita “OOP para WP”, “orientada a los objetos”, es esencialmente un ejercicio de pensamiento. Creo que es uno de los tres paradigmas de programación más importantes que se consideran en torno a PHP y WordPress. Está en contraste con otros dos: uno que piensa en “procedimientos” y otro que piensa en términos de “funciones puras”. Para obtener más toneladas sobre esto, consulte este artículo: Los tres paradigmas de desarrollo: procedimiento, orientado a objetos y funcional
En resumen, tener objetos PHP (clases PHP, que se instituyen en los objetos) en un sistema no hace que el sistema mismo esté “orientado a objetos”. Aunque las opiniones difieren, estoy en parte en la idea de que un sistema de programación se consideraría con precisión “orientado a objetos” si la mayoría del sistema se orquestara por la interacción de diferentes objetos. En WordPress, hay muchos objetos. Pero todavía no creo que WP sea OOP. Pero antes de que me fuera, ¿por qué objetos de todos modos? Lo que los objetos hacen por nosotros en Phpobies son esencialmente conceptos que ayudan a adaptar la forma en que funciona la mente humana. Esta es la comprensión aleatoria. Entonces, muchos tutoriales de OOP hablarán sobre cómo las personas entienden cosas como “sillas” y “perros” como objetos. Y como esas “sillas” y “perros” en el mundo real están en cierto sentido de ejemplos de un concepto puro (o “clase”) que tenemos en la cabeza.

Aquí WordPress tiene muchos objetos relevantes. Algunos que me vienen a la mente rápidamente y lo sé sin siquiera mirar son que WordPress tiene:
WP_USER: representar a los usuarios con cuentas en un sitio
WP_QUEY: que representa una base de datos básica que WordPress hace para “publicaciones”
Wp_widget – (posible no mucho para este mundo) que representa un widget desde la barra lateral
Wp_post: representar una publicación de WordPress con contenido de blog
Todo esto coincide con una historia básica que podría decir “Hay objetos, por lo que es un sistema orientado a objetos”. Realmente no creo esta historia, pero veo que dijo mucho.
Como la mayoría de la gente dice “orientada a objetos”, así que acabo de decir, una definición popular de “un sistema orientado a objetos” es “un sistema que usa objetos PHP”. Si esta es nuestra definición simple, entonces WordPress es definitivamente un sistema orientado al objeto, al menos en el código PHP. Pero hay paradigmas de programación competidores, y uno de ellos trata sobre el uso de “procedimientos” o “código imperativo” y la mayoría de las personas dicen que WordPress también lo hace. Personalmente, creo que WordPress es más procedimiento que orientado a objetos. Para ser un sistema orientado al objeto, diría que el sistema debe ser casi exclusivamente objetos que se orquestan entre sí. Casi ningún sistema es “puro” en la medida en que cada línea de código está “orientada a objetos” o “en clases”, al menos en el mundo PHP y Web. Pero muchos sistemas están mucho más cerca de los “objetos que orquestan objetos” que WordPress. WordPress tiene muchas “funciones y variables globales” que diría que está cerca de “un sistema de procedimiento con objetos” que “WordPress es un sistema orientado a objetos”.
Alan Kay (foto) discute sobre la caca; P
También me siento algo obligado, porque me gustan las opiniones marginales, para enfatizar que hay un contingente pequeño pero significativo que afirma que “la mayoría de lo que las personas llaman el código orientado a los objetos malinterpreta lo que significa la orientación de objetos”. Toda la línea de argumentos fue mejor hecha por un hombre llamado Alan Kay, que algunas personas llaman al inventor de la programación orientada a objetos. El argumento de Kay se puede simplificar en “Toda la programación orientada al objeto se trata de la transmisión de mensajes. Todo este enfoque en el objeto pierde el punto en que los objetos nunca deben “llamar a” otros objetos “. Este argumento es mucho más complejo que eso, pero es suficiente decirlo, lo menciono porque, si entendemos OOP en el modo Alan Kay, ni WordPress, ningún código escrito en Java (uno de los “OOP” más obvios no es de hecho completamente calificado. como un objeto orientado. WordPress hace esto?

Una nota final, debido a mi mayor familiaridad con ella y porque es el lenguaje “OOP” de los dos, este artículo se centrará y se centrará principalmente en el PHP que está escrito en WordPress y sus alrededores. Pero gran parte del código real de WordPress y una proporción más alta con WordPress 5.0 y Gutenberg Publisher, está escrito en JavaScript. JavaScript es extraño como lenguaje de programación (WordPress). No encajaba (y realmente no encaja en la iteración más reciente) del “modelo de programación orientado a la clase”. Comenzando con “ES6”, JavaScript tiene clases. React, una de las bibliotecas de JavaScript más populares en la actualidad y una utilizada en Gutenberg, usa estas clases. Entonces, esos sistemas podrían describirse como “orientados a objetos”. Pero, debido a que no soy un experto en ninguno de ellos, me mantendré alejado de ese debate. Aunque creo que, como con PHP, gran parte de WordPress JavaScript es bastante claro. Entonces, suficientes explicaciones y trastornos. ¿WordPress está orientado a objetos? ¿O la programación de WordPress es más un paradigma de procedimiento? O como lo acorté, “¿WP OOP?” En resumen, mi respuesta es: No, WordPress no es un sistema orientado a objetos. El argumento de “WordPress está orientado a objetos”
El caso de, como señalé anteriormente, pero resumiré aquí, es el siguiente: WordPress tiene muchos objetos. Grandes partes de WordPress son realmente solo orquestan diferentes objetos. Y especialmente en los últimos diez años (de su vida de 15 años), WordPress ha ido más lejos para orquestar objetos de PHP para hacer su trabajo.

Hasta entonces, no suplico ninguna competencia. Sin lugar a dudas, la API WP REST, que es probablemente el subsistema más grande introducido en WordPress este milenio, está orientado a objetos. Y cosas como el sistema de comentarios de WordPress se han vuelto cada vez más difíciles para los objetos a medida que pasa el tiempo. Pero, este es un gran regalo, una tendencia hacia la orientación de los objetos no hace que el sistema mismo esté orientado hacia los objetos. Razones por las cuales WordPress no es un sistema orientado a objetos

Esencialmente, WordPress es un sistema que se ha diseñado antes del lenguaje de programación de PHP (o especialmente JavaScript) puede llamarse correctamente “orientado a objetos” por sí solo. ¿Entonces WordPress está orientado a objetos? No realmente.
La mayoría de los comentaristas de PHP dicen que OOP realmente ha alcanzado el lenguaje PHP 5.3. Mientras escribe esto, WordPress todavía acepta PHP 5.2. Entonces, sin una gran reescritura (lo que WordPress nunca haría por razones para la compatibilidad con atraso), WordPress nunca será un sistema orientado a objetos, considerado correctamente. Esta es mi opinión y me quedo con ella. Esencialmente, los temas de WordPress son un claro ejemplo de cómo WordPress nunca puede ser un sistema orientado a objetos. La jerarquía de la plantilla de WordPress (que nos gusta tanto guardamos waphierearch.com) significa que nunca funcionará de alguna manera con el primer objeto. La jerarquía de la plantilla de WordPress no está orientada a objetos. Y como parte esencial de la forma en que funciona WordPress, creo que es una razón tan buena como cualquier otra razón por la cual WordPress no debe considerarse orientado a objetos.

Bonificación: ¿Podría haber un tema de WordPress orientado a WordPress?Pero, ¿podría crear un tema de WordPress orientado al objeto?
Una especie de. De hecho, haciéndome esta pregunta, encontré una. Se llama “Oowp”. Y si aprieta un poco los ojos, puede ver cómo es tanto un “tema de WordPress” como “orientado a objetos”. Pero no estoy seguro de que incluso sus esfuerzos heroicos hayan hecho algo que llamaría cómodamente “un tema de WordPress orientado a los objetos”. Parcialmente porque se desvían tan profundamente de la forma en que los “temas de WordPress” generalmente se construyen y estructuran. Pero este es el único tema que he encontrado (y fue el resultado de una búsqueda explícita) que funciona así. La mayoría de los temas y temas de WordPress están muy felices de usar la jerarquía de la plantilla de WordPress. Y no veo una buena razón para decirles que están equivocados o que tienen que cambiar. Pero eso significa para mí que “un WordPress orientado a WordPress” es un poco un oxímoron. Lo que significa WordPress no está orientado a objetos en su mayor parte, todo el artículo es un ejercicio de filosofía. En cualquier momento notará que no pregunté (y no habría tenido sentido) si “una WordPress orientada al objeto” sería una buena idea o una que llevaría a más felicidad para los desarrolladores. Sé que muchos desarrolladores, incluido yo, que a veces pensaban que sería. Pero WordPress simplemente nunca irá allí, así que perdemos el tiempo deseándolo. Al final del día, desarrollamos WordPress porque nos gusta WordPress. Y porque esto, las preguntas sobre la pureza teórica de uno o ese paradigma de programación de WordPress son una distracción completa. ¡Deberíamos seguir viendo allí y hacer cosas interesantes!

Copyright statement: Unless otherwise noted, this article is Collected from the Internet, please keep the source of the article when reprinting.

Check Also

gkOVSBm5B8SgiXmo

Shopify vs WooCommerce – ¿Cuál es la mejor plataforma?(Comparación)

Shopify vs WooCommerce

Leave a Reply

Your email address will not be published. Required fields are marked *