TeachMe es un proyecto sencillo, de tan sólo unas 5 tablas, pero ¿Qué pasaría si necesitas trabajar en un proyecto con decenas de modelos? Lo más probable es que necesites repetir los mismos métodos para uno o más repositorios y esto no cumple con el principio DRY. Este problema se puede resolver de varias maneras, una de ellas es implementar un repositorio base (así como creamos un seeder base o como Laravel dispone de un controlador base).
Entonces en esta clase crearé dicho repositorio base, y aprovecharé la ocasión para darte un repaso sobre herencia en la programación orientada a objetos y sobre clases abstractas.
Así que estás trabajando en un proyecto con Laravel 5.0 y justamente hoy te enteras de que hay una nueva versión de Laravel… La primera pregunta que te hiciste fue: ¿Debo actualizar? Absolutamente sí.
Ya con la nueva versión de Laravel disponible, veamos como instalarla. Uno de sus nuevos requerimientos es el de utilizar PHP 5.5.9 o superior, así que quizás tengas que hacer algunas modificaciones en tu entorno de trabajo. Ver post
A tan solo horas del esperado lanzamiento de la versión 5.1 de Laravel, uno de los más poderosos frameworks para PHP, seguimos a la expectativa de cuáles serán todos los cambios finales y mejoras de esta nueva actualización.
El patrón repositorio, actua como una capa intermedia entre tu aplicación y la base de datos.
La idea es encapsular el código que interactúa con la base de datos: es decir aquel que genera consultas SQL para traer datos de la base de datos hacia la aplicación o inserta, actualiza y elimina dichos datos.
Cuando usamos Laravel, este código está escrito con el ORM Eloquent o con el constructor de consultas Fluent, y suele ser muy limpio, sin embargo a medida que los requerimientos del proyecto crecen, este código también crece y lo más conveniente es separarlo a otra capa, que no sólo reducirá la cantidad de código del controlador, sino que hará nuestras consultas reusables en otros controladores y partes de nuestra app, y por otro lado también nos permitiría ejecutar pruebas (tema que veremos en otros cursos).
Dividí esta lección en 3 temas para facilitar su estudio y revisión posterior:
En esta lección, nos encargaremos de mover el código que se encarga de generar las consultas para mostrar tickets, del controlador a nueva capa llamada repositorio.
Además me tomaré unos momentos para corregir un par de bugs de la página de detalles de tickets.
El registro de errores es fundamental para el desarrollo de cualquier aplicación, la posibilidad de ver las fallas del sistema durante el proceso de construcción ofrece al programador la ventaja de solucionar problemas sin tener que hacer una exhaustiva revisión del código.
Ya estamos obteniendo el autor utilizando eager loading, pero aún nos falta obtener la cantidad de votos y de comentarios en una sola consulta.
En programación, hay muchas maneras de solucionar un problema, hoy les enseñaré cómo crear subconsultas SQL para obtener información de otras tablas (en nuestro caso la cantidad de votos y la cantidad de comentarios) dentro de la consulta a la tabla de tickets.
Las subconsultas en SQL como su nombre lo indica son consultas que se escriben y ejecutan dentro de otras consultas de SQL.
Para facilitar tanto el aprendizaje como el desarrollo del código, lo primero que haremos será probar las subconsultas dentro de PHPMyAdmin (o Sequel Pro o cualquier otra aplicación que estés usando para manejar la base de datos) y luego pasaremos el código a Laravel.
OAuth es un protocolo abierto y estandarizado para la autenticación en aplicaciones web, móviles y de escritorio. Muchas aplicaciones web como Github, Twitter, Facebook, Google Plus , etc. ofrecen la posibilidad de autenticar usuarios en sitios de terceros con sus credenciales propias haciendo uso de sus API’s.
Todos amamos las sintaxis que nos provee el motor de plantillas Blade para escribir nuestras vistas, y no es el único, hay otros motores de plantillas geniales como Twig o Smarty, escritos en y para PHP.
Pero imaginemos por un momento que tienes un proyecto que no está usando ningún framework: quizás te toque escribir código para WordPress como a mí, o editar algo de «legacy code» de un proyecto, e instalarle Smarty o algún otro template engine no es una opción viable. Ver post
Styde usa cookies para guardar tus preferencias y para seguimiento anónimo AceptarLeer más
Privacy & Cookies Policy
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.