Duilio Palacios 28/08/2015 PHP, Programación orientada a objetosComentarios desactivados en Introducción a los contenedores de inyección de dependencias
Para reducir la cantidad de código que necesitamos cuando implementamos el patrón de inyección de dependencias, debemos crear otro objeto llamado contenedor de inyección de dependencias, el cuál será un objeto que conocerá cómo instanciar y «ensamblar» otros objetos. De esta manera podremos extraer la lógica requerida para crear el access handler y demás clases de nuestro proyecto demo a otra clase, como veremos a continuación…
Regístrate para ver ésta y cientos de lecciones exclusivas.
Duilio Palacios 27/08/2015 PHP, Programación orientada a objetosComentarios desactivados en Uso del patrón de inyección de dependencias dentro de un proyecto
En esta lección 2 de la segunda parte del curso Crear componentes con PHP y Laravel, vamos a empezar implementar el Access Handler en nuestro proyecto y nos encontraremos de frente con los problemas de usar el patrón de inyección de dependencias. Poco a poco iremos analizando las causas y posibles soluciones que nos permitirán implementar código bien diseñado de una manera fácil.
Regístrate para ver ésta y cientos de lecciones exclusivas.
Bienvenido a la segunda parte del curso Crea componentes para PHP y Laravel.
En esta lección, nos apartaremos un momento de lo que hemos aprendido, sólo para preparar un escenario donde podamos implementar el AccessHandler realizado en lecciones anteriores y profundizar en la implementación del patrón de inyección de dependencias en todos los objetos, sin que se vuelva cuesta arriba instanciarlos y usarlos.
Regístrate para ver ésta y cientos de lecciones exclusivas.
Cuando trabajamos con la programación orientada a objetos hay términos que debemos entender y uno de ellos es el polimorfismo, el cual es la capacidad de que un mismo método pueda tener distintos comportamientos dependiendo del contexto en el que se está ejecutando. Esto en PHP se puede lograr por ejemplo con el uso de interfaces.
En esta lección 4 del curso Crea componentes para PHP y Laravel aprenderás a crear e implementar interfaces así como stubs que te ayudarán a hacer el código más reusable y desacoplado, además de que facilitará la implementación de las pruebas unitarias.
Esto nos permitirá ya no trabajar con un archivo para manejar las sesiones, sino que usaremos un nuevo manejador (driver) con el cual podemos cargar datos de sesión con un simple array. Esto es un ejemplo muy sencillo de cómo funciona el manejador de Sesiones en frameworks como Symfony o Laravel.
Regístrate para ver ésta y cientos de lecciones exclusivas.
Esta es la lección 3 del curso Crea componentes para PHP y Laravel.
En esta oportunidad se tratará un punto importante de la programación orientada a objetos, no sólo en PHP sino en general, como es la inyección de dependencia que servirá de mucha ayuda para desacoplar las clases creadas en la lección anterior: AccessHandler y sobretodo SessionManager.
Regístrate para ver ésta y cientos de lecciones exclusivas.
Cuando trabajamos en programación orientada a objetos es normal encontrarse con clases y objetos que interactuan y dependen unos de otros, la idea de ello es aprovechar al máximo las virtudes de cada uno y evitar reescribir código innecesario.
Sin embargo esto nos puede llevar a código que esté innecesariamente «acoplado», es decir objetos y clases que no puedan funcionar sin la presencia de otros objetos y clases.
Esto trae varios problemas, por un lado el código es menos reusable y por otro lado es más difícil de probar y depurar.
En la lección de hoy veremos un ejemplo de esto, mientras avanzamos en la creación de algunas clases base que nos permitirán más adelante comparar código y aprender sobre la inyección de dependencias y otros conceptos más avanzados.
Regístrate para ver ésta y cientos de lecciones exclusivas.
¡Hola! Bienvenido al nuevo curso Crea Componentes para PHP y Laravel.
Sé que estás impaciente en aprender cómo crear componentes, subirlos a packagist, obtener miles de descargas y estrellas en GitHub y hacerte famoso, nosotros también, pero antes de comenzar, hay muchos conceptos que necesitarás aprender, puesto que no sólo son necesarios para crear un buen componente, sino que también te ayudarán muchísimo a entender mejor Laravel y otros frameworks o herramientas con las que desarrollas a diario.
Quizás aún arrugas la cara cuando oyes la palabra “Facade” o los términos “inyección de dependencias” o “pruebas unitarias” te producen dolor de cabeza. No te preocupes, después de terminado este curso esos y muchos otros paradigmas avanzados te serán familiares y tu nivel como desarrollador aumentará muchísimo.
Regístrate para ver ésta y cientos de lecciones exclusivas.
En una clase anterior hablábamos sobre las abstracciones y como estas definían el comportamiento general de un «objeto», en programación orientada a objetos, estas abstracciones pueden ordenarse y clasificarse, a esto se le conoce como Jerarquia.
Vamos a centrarnos en las dos jerarquías más importantes: larelación de clases y relación de objetos.
El encapsulamiento en la programación orientada a Objetos ¿Recuerdan que este también es un elemento fundamental del modelo de objetos? sabía que esa era la respuesta, entonces empezaremos con la lección.
Definamos Encapsulamiento:
Es el proceso de almacenar en una misma sección los elementos de una abstracción que constituyen su estructura y su comportamiento; sirve para separar el interfaz contractual de una abstracción y su implantación.
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.