En las últimas 12 publicaciones, hemos analizado los conceptos básicos de PHP, los conceptos básicos de la programación orientada a objetos, cómo hacerlo en el contexto de WordPress, e incluso hemos visto el comienzo de conceptos más intermedios, como como herencia.
En este punto, es hora de cerrar esta serie para principiantes, pero antes de hacerlo, me gustaría proporcionar un resumen de cada uno de los artículos para que no solo tengamos una actualización de todo lo que hemos hecho, pero para que también tengamos una única página de resumen para marcar como referencia.
Dicho esto, revisemos todo lo que hemos cubierto hasta este artículo. Incluiremos enlaces al artículo original, descripciones breves y otra información pertinente..
En el primer post de la serie, discutimos hacia dónde nos dirigíamos con los artículos que debían seguir. En resumen, proporcionamos un resumen de alto nivel sobre lo que discutiríamos y luego avanzamos desde allí..
Quizás la conclusión más importante de este artículo fue comprender "¿por dónde empiezo?" ¿Cuál es una pregunta que muchas personas se preguntan al comenzar con la programación?.
A eso, dijimos:
Pero aquellos que han estado en esto por un período de tiempo significativo a menudo olvidan cómo era cuando originalmente intentaban descifrar cómo descifrar el código, entienden por qué algo fue escrito de la manera que era, cómo el autor sabía usar qué función y dónde, y determinar la razón detrás de ciertas decisiones de implementación.
Todos hemos estado allí en algún momento, ¿verdad? Miramos el código, tratamos de averiguar el flujo de control, y en una ocasión preguntamos "¿por dónde empiezo?"
Y el propósito de esta serie es responder a esa pregunta..
Y eso es exactamente lo que pretendíamos hacer con los siguientes puntos que se trataron en su propio artículo..
El propósito de este post era definir la base de la programación orientada a objetos: las clases. Primero, mencionamos que las clases se definen típicamente como las siguientes:
Una clase es un plano para crear un objeto..
Pero también reconocimos que esto es particularmente confuso para la mayoría de las personas especialmente Si apenas están comenzando la programación orientada a objetos.
Entonces, en lugar de eso, hablamos de clase en términos de qué características define:
Entonces, generalicemos esta idea a los objetos. De hecho, sustituyamos una palabra por otra:
Un sustantivo es un objeto..
Un adjetivo y un atributo (o una propiedad).
Un verbo es un método (o una función).
Además, vimos ejemplos buenos y malos en cuanto a lo que define una clase, y trabajamos en la definición de un modelo mental de cómo retratar las clases cuando trabajamos con ellos.
En última instancia, esto sentó las bases para el complemento que estaríamos escribiendo en el futuro. Pero primero, teníamos que asegurarnos de que teníamos una comprensión firme de los conceptos básicos de PHP antes de pasar a la característica más avanzada de las clases..
En este artículo, hablamos sobre los dos tipos que existen dentro de WordPress:
Y luego definimos cada uno de los anteriores como tales:
Los tipos de datos simples se definen como tales porque los datos que representan son, ya sabes, sencillo. Es decir, normalmente caerá bajo el estandarte de verdaderos, falsos, decimales y palabras y / u oraciones..
Y luego dijimos:
Los dos tipos de datos complejos principales en los que nos centraremos en esta serie son matrices y objetos. Hay más, pero están fuera del alcance de esta serie, así que si está interesado, no dude en consultar el manual de PHP, pero le advierto: si es un principiante absoluto, el contenido puede parecer un poco abrumador.
En resumen, ejemplos de lo anterior se pueden ilustrar como:
Por supuesto, estos son principalmente útiles una vez que comenzamos a usarlos dentro del contexto de características más avanzadas, como sentencias condicionales y estructuras de control..
En el primer artículo de la Estructuras de Control Serie, hablamos de sentencias condicionales..
Primero, recuerde que:
"Estructuras de control" es un término elegante que describe cómo podemos, Ejem, Controlar cómo fluye el código a través de nuestro programa basado en una serie de factores.
Las dos estructuras de control de las que hablamos son si / entonces
declaraciones y interruptor / caja
Enunciados, luego miramos ejemplos de cada uno. Además de eso, los empleamos en algunos de los códigos que escribimos en nuestro complemento o en nuestro ejemplo de herencia..
En la misma serie, hablamos de bucles. Recuerda:
Supongamos que tenemos un conjunto de datos, tal vez un conjunto de 10 publicaciones, y que queremos recorrer e imprimir el título y la fecha de cada publicación. Los bucles nos permiten hacer esto..
La lista de bucles que miramos incluía:
para
para cada
hacer
mientras
Y vimos ejemplos de cada uno y cómo usarlos mientras iteramos a través de una variedad de estructuras de datos.
Después de cubrir algunos de los aspectos fundamentales del desarrollo de PHP, pasamos a las funciones de cobertura, que aún se pueden usar en la programación de procedimientos, y los atributos, que son exclusivos de la programación orientada a objetos..
Para resumir, las funciones se usan para completar una unidad de trabajo, pero también usan algunas de las estructuras mencionadas anteriormente para ayudar a completar dicho trabajo:
Las variables, los condicionales, los bucles, etc., también son responsables de completar el trabajo de una sola unidad; sin embargo, cada uno de ellos trabaja en conjunto para lograr algo ligeramente mayor que ellos mismos.
A continuación, vimos un ejemplo de varias funciones, algunas de ellas extremadamente sencillas, otras más complejas que aprovecharon todos los tipos anteriores, las estructuras de control y los bucles..
Pero eso no es todo: dado que las funciones pueden existir dentro de una clase y ayudar a una clase a completar su trabajo, también funcionan en conjunto con los atributos (que son los adjetivos de un objeto, si se recuerda anteriormente en el artículo).
Lo que pasa con los atributos es esto:
No son más que variables, como hemos visto anteriormente en la serie, y pueden contener cualquier tipo de valor, ya sea un tipo de datos primitivos como una cadena, un entero, un valor booleano o pueden hacer referencia a un tipo de datos más complejo, como un matriz u otro objeto.
La cosa es que no están encerrados en una función. En su lugar, viven a nivel de clase. Y cuando residen en el nivel de clase, hay un nivel de alcance que ellos, junto con las funciones, deben tener.
A partir de ahí, comenzamos a hablar de alcance..
En resumen, el alcance se refiere a cómo se puede acceder a las variables y funciones desde objetos de terceros u objetos secundarios dentro del programa.
En el artículo, incluso observamos un diagrama de alto nivel, así como también un código fuente que demostró el punto.
La clave para llevar; Sin embargo, es que el alcance puede venir en tres sabores diferentes:
público
que está disponible para la clase en sí y para todas las clases de tercerosprotegido
que está disponible para la clase en sí y todas las subclasesprivado
que está disponible solo para la clase en la que se defineEsto se hizo aún más claro cuando comenzamos a construir nuestro complemento utilizando lo que hemos aprendido..
En el Construyendo el Plugin serie, primero hablamos exactamente de lo que realmente estaríamos construyendo y luego comenzamos a implementar el complemento.
A lo largo de este proceso, aprendimos la importancia de planificar el complemento antes de que realmente comencemos la implementación, de modo que tengamos una hoja de ruta, de algún tipo, para saber a dónde nos dirigimos..
Después de hacer eso, comenzamos la implementación real de las ideas que habíamos descrito hasta el punto en que teníamos un complemento totalmente funcional que cubría exactamente todo lo que habíamos cubierto hasta este punto..
De hecho, hicimos el complemento disponible para descargar en GitHub.
Pero aún no habíamos terminado. Después de eso, tuvimos que documentar el complemento utilizando los comentarios de código adecuados para explicar qué hacen cada uno de nuestros archivos, clases, atributos y métodos..
En esta serie de artículos, primero hablamos sobre los estándares de PSR y los estándares de codificación de WordPress y comenzamos a documentar los conceptos básicos de nuestro complemento..
Sin embargo, no fue hasta la segunda parte de la serie que realmente comenzamos a emplear las estrategias de documentación que brindamos en los estándares de codificación de WordPress. En esta publicación, completamos el resto de nuestros esfuerzos de documentación al proporcionar comentarios para cada clase, atributo, función e incluso exigir
declaración que existe dentro del plugin.
En última instancia, esto completó el desarrollo del complemento y nos permitió transferir nuestra discusión a un tema más intermedio..
En los siguientes dos mensajes, cubrimos uno de los temas más intermedios de la programación orientada a objetos: la herencia. Esto no fue pensado para ser un todo incluido sobre el tema, pero fue suficiente para ayudar a aquellos de ustedes con un interés incipiente en la programación orientada a objetos en PHP a familiarizarse con su funcionamiento..
En el primer artículo, echamos un vistazo a algunos de los fundamentos, así como a cómo se utiliza en toda la aplicación WordPress, específicamente cuando se usan widgets..
En el artículo final, construimos nuestra propia implementación de herencia que, aunque muy simplista, proporcionó una demostración práctica de cómo funciona la herencia en PHP.
Obviamente, hemos cubierto mucho de contenido en esta serie. Con suerte, aquellos de ustedes que recién comienzan a trabajar con WordPress y la programación orientada a objetos en general lo han encontrado útil..
Aunque no me opongo a publicar otra serie de temas avanzados, tengo más curiosidad por sus comentarios, comentarios y preguntas sobre la serie actual. Por favor, siéntase libre de ofrecer eso en el feed de comentarios..
En lo que respecta a cualquier serie futura, avísenme y veremos qué podemos hacer..
Aparte de eso, buena suerte con tus esfuerzos con WordPress, programación orientada a objetos, etc. No puedo esperar a ver lo que se te ocurre!