Null Object Pattern

En esta lección te explicaré de qué se trata el error común “trying to get property of non-object” y cómo solucionarlo en tus plantillas de Laravel Blade.

Creación del usuario para las pruebas

En el video puedes ver cómo he generado el sistema de autenticación básica que incluye el framework con el uso de php artisan make:auth. También podría haber creado el usuario utilizando Laravel Tinker o Seeders, como explicamos en:

Manejo de relaciones con el ORM Eloquent

Puedes dar un repaso sobre el Manejo de relaciones con el ORM Eloquent con esta lección de nuestro Curso de Laravel desde cero.

Asignación masiva

También puedes repasar sobre este otro error si revisas la lección Manejo de atributos en Eloquent ORM (solución a MassAssignmentException) del curso mencionado anteriormente.

Blade, el motor de plantillas de Laravel

Para aprender o repasar cómo crear tus vistas en Laravel puedes ver Blade, el Sistema de plantillas de Laravel. Estas lecciones recomendadas están grabadas con Laravel 5.5, sin embargo dichos conocimientos te servirán en las nuevas versiones incluyendo Laravel 5.8.

A partir de la lección siguiente exploraremos maneras de solucionar el error trying to get property of non-object utilizando diferentes adaptaciones del patrón Null Object Pattern. Si quieres obtener una pequeña introducción a este patrón, te recomiendo revisar nuestro Curso de programación orientada a objetos con PHP concretamente la lección Reducción de uso de condicionales IF y sentencias SWITCH.

En Styde también puedes aprender más sobre Patrones de Diseño con PHP revisando nuestro curso premium. Si además te unes a nuestro listado de correo recibirás resúmenes periódicos de los patrones que estamos explicando en el curso así como otros tips:

Suscríbete a nuestro boletín

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

Aprende desarrollo web con Laravel, Vue.js y mucho más a partir de 12 USD al mes: ver planes.

Lección siguiente Soluciona "trying to get property of non-object" usando el helper optional de Laravel