Clases anónimas en PHP

Logo
30

Clases anónimas

Curso de programación orientada a objetos con PHP Parte 5

Como vimos en las lecciones sobre la interfaz ArrayAccess no podíamos probar la implementación de esta interfaz directamente con la clase Model. Debido a que la clase Model por ser una clase abstracta no se puede instanciar directamente. Cuando esto ocurre, la solución más común es crear una clase que extienda de la clase abstracta. Sin embargo a partir de PHP 7 podemos sacarle provecho a un nuevo tipo de clase llamada Clase Anónima y esto es lo que vamos a aprender en esta lección: el uso de clases anónimas en pruebas unitarias.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Array Access en PHP – Parte 2

Logo
29

Array Access, parte 2

Curso de programación orientada a objetos con PHP Parte 5

En esta segunda parte acerca de la interfaz ArrayAccess estudiaremos cómo implementar los métodos offsetExists, offsetSet y offsetUnset para completar la funcionalidad de acceso de array en nuestra clase de prueba. Además seguiremos utilizando PHPUnit y pruebas automatizadas para comprobar nuestro progreso en el desarrollo de la funcionalidad y veremos algunos tips sobre cómo nombrar y especificar los métodos de nuestras pruebas unitarias.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Array Access en PHP – Parte 1

Logo
28

Array Access, parte 1

Curso de programación orientada a objetos con PHP Parte 5

Con PHP, es posible interactuar con un objeto como si éste fuese un array, y esto lo podemos lograr de forma muy sencilla implementando la interfaz ArrayAccess. A partir de esta lección aprenderás cómo usar esta interfaz de forma detallada, para agregar esta funcionalidad a la clase Model que hemos venido usando. Además vamos a aplicar los conocimientos de la lección 27 (Desarrollo de clases y métodos con pruebas automatizadas) para crear esta funcionalidad con el apoyo de una prueba unitaria escrita en PHPUnit.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Refactorización: reducción de condicionales en el controlador

Logo
47

Refactorización

Curso de Crea una aplicación con Laravel 5.3 Parte 1

Como hemos visto a lo largo del curso, las pruebas automatizadas son una forma de garantizar que la aplicación está funcionando correctamente. De manera que podemos hacer los cambios que creamos necesarios pues nos indicarán cualquier posible fallo en un feature que esté cubierto por dichas pruebas. En esta lección nos apoyaremos en ellas para refactorizar el código ya desarrollado.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Cómo trabajar con Form Requests en Laravel

form request - Laravel

Una de nuestras metas como desarrollador profesional es construir un código limpio, fácil de mantener y reusable. Sin embargo, es común que tengamos controladores que se ocupan de muchas tareas y a veces repetidas haciendo que sean extensos o complejos. Para tales casos, puede ser conveniente usar una clase especial de Laravel llamada Form Request que permiten separar la lógica de validación de datos (validación, mensajes de errores, autorización de usuarios y redirección en caso de fallar) de la lógica del controlador.  Esta clase intercepta la solicitud o request y valida los datos que vienen de una petición HTTP antes de pasar al controlador. En este tutorial aprenderemos cómo trabajar con Form Request:

Ver post

Solución al problema de N+1 con Eager Loading en Laravel

Logo
46

Solución al problema N+1

Curso de Crea una aplicación con Laravel 5.3 Parte 1

Cuando trabajamos con ORMs -como Eloquent- obtenemos la ventaja de hacer consultas de modelos relacionados fácilmente pero con la desventaja que no sabemos a simple vista cómo se están haciendo dichas consultas. Laravel por defecto, realiza «lazy loading» o una carga de los datos de modelos relacionados solo cuando accedes a ellos. Esto produce que se hagan N consultas extra por la cantidad de registros que se relacionan con el otro modelo. Son consultas adicionales que se hacen a la base de datos y no importan mucho cuando estamos desarrollando pero cuando tenemos la aplicación en producción podría afectar el desempeño. En la lección de hoy veremos cómo podemos verificar las consultas ejecutadas por Eloquent / Fluente y cómo solucionar este problema usando Eager Loading.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Filtrar posts propios con Laravel y TDD

Logo
45

Filtrar posts propios

Curso de Crea una aplicación con Laravel 5.3 Parte 1

Durante las últimas lecciones hemos creado filtros para el listado de posts de la aplicación. En esta lección trabajaremos en otro tipo de listado, el cual es el que permitirá filtrar solo los posts propios del usuario conectado.  Además, refactorizaremos el controlador encargado de mostrar los listados, entre otros detalles.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Uso de View Composers en Laravel para compartir datos en las vistas

Logo
44

View Composers

Curso de Crea una aplicación con Laravel 5.3 Parte 1

Cuando tenemos variables que queremos mostrar en varias vistas, lo ideal es poner en práctica el principio DRY «Don’t repeat yourself» y enviar dichas variables desde una clase particular y así evitar recargar los controladores con código repetido.  Este tipo de clases en Laravel se llaman View Composers y en esta lección veremos cómo hacer uso de ellas en nuestro proyecto.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Uso de controladores de una sola acción en Laravel 5.4

Logo
43

Single Action Controllers

Curso de Crea una aplicación con Laravel 5.3 Parte 1

Siguiendo con la refactorización del listado de posts de la aplicación, nos encontramos con que nuestro controlador PostController tiene algunas funciones que no son acciones sino helpers.  Esto puede crear confusión, por lo que en esta lección la dedicaremos a implementar un tipo de controlador disponible desde Laravel 5.4 conocido como Single Action Controller o controladores de una sola acción. Veamos a continuación:

Regístrate para ver ésta y cientos de lecciones exclusivas.

Suscríbete a nuestro boletín

Te enviaremos publicaciones con consejos útiles y múltiples recursos para que sigas aprendiendo.

Suscríbete a nuestro boletín

Recibe consejos útiles, promos y múltiples recursos directamente en tu correo.

Tu nombre y correo serán enviados directamente a MailChimp. No compartiremos tus datos con otras empresas.