Instalación de Laravel 6
Una vez completada la instalación de Composer, instalar Laravel es muy sencillo como veremos en este videotutorial.
Una vez completada la instalación de Composer, instalar Laravel es muy sencillo como veremos en este videotutorial.
En esta lección aplicaremos lo aprendido sobre Interfaces y Polimorfismo en el Curso de programación orientada a objetos con PHP para finalizar la aplicación del Patrón Builder, permitiendo así que podamos generar nuevos objetos Builder y asignarlos para construir objetos de diversos tipos. También veremos un poco de teoría sobre el Patrón Builder, sus participantes y los resultados de aplicarlo.
Como aprendimos anteriormente, el Patrón Composite nos permite componer diferentes objetos en una estructura de árbol para generar un resultado complejo, sin embargo los pasos para lograr dicho resultado son tediosos y hasta propensos a errores. En esta lección utilizaremos el Patrón Builder el cual nos permitirá simplificar el proceso de construcción de dichos objetos.
El Patrón Builder nos permite separar el proceso de construcción de un objeto de la forma en que dicho objeto es representado, de manera que el mismo proceso de construcción pueda crear resultados diferentes. El código resultante de la lección anterior aún no refleja esto, así que en esta lección voy a utilizar composición de objetos para lograr un diseño más flexible y la aplicación exitosa del Patrón Builder.
En las lecciones anteriores hicimos uso de una interfaz de PHP para establecer el contrato requerido por todos los componentes dentro de nuestro Composite, sin embargo esto también es posible solo con el uso de clases abstractas (sin interfaz). En esta lección veremos un nuevo capítulo sobre Refactorización con PHP, en el que te voy a enseñar cómo implementar este patrón con clases abstractas y cómo podemos eliminar una interfaz de manera ordenada usando nuestras pruebas automatizadas con PHPUnit a manera de soporte. También arreglaremos algunos detalles en el código y con esto daremos por completada esta sección del curso.
En esta lección veremos un tema muy interesante en lo que al Patrón Composite se refiere: la aplicación e invalidación de caché. En operaciones más complejas es posible que se requiera de un medio de guardar en caché los resultados para evitar tener que recorrer todo el árbol de objetos cada vez que se realice la operación; sin embargo esto también trae un tema importante: la invalidación de caché. En esta lección veremos ambos temas mientras seguimos aprendiendo sobre interfaces, clases abstractas, composiciones de objetos y otras características de la programación orientada a objetos.
Uno de los objetivos del Patrón Composite es lograr una interfaz común para todos los componentes dentro de una composición, ya sean hojas u otras composiciones más pequeñas. Hasta ahora ya hemos cumplido este objetivo pero solo de forma parcial. ¿Qué sucede, por ejemplo, si intentamos agregar elementos a un elemento hoja? En esta lección veremos algunas técnicas y trucos para normalizar aún más la interfaz de los componentes y citaré también algunas limitaciones adicionales de este patrón.
En esta lección vamos a aprender cómo podemos aplicar una interfaz común a todos los elementos (ya sean composiciones u hojas) para de esta manera reducir la lógica condicional necesaria para llevar a cabo la operación sobre dichos elementos. Para esto haremos uso de la determinación de tipos de PHP y de las interfaces como aprendimos en el Curso de programación orientada a objetos con PHP.
En esta lección vamos a escribir la lógica del método render
para poder generar un árbol de elementos HTML de manera recursiva. Con esto lograremos la primera parte del patrón Composite que nos indica que podemos trabajar con una serie de elementos anidados (composiciones y hojas) de forma recursiva.
En esta lección vamos a utilizar pruebas unitarias y TDD para definir uno a uno los métodos add
, remove
y getChild
que necesitamos para armar composiciones de objetos.