Una más de las ventajas de instalar el servidor virtual Homestead para trabajar con nuestros proyectos, es que el mismo cuenta en su instalación con la extensión para PHP xdebug.
Xdebug nos permite hacer un completo debug de nuestras aplicaciones que, en conjunto con un buen IDE como es el caso de PhpStorm, resulta sencillo de configurar.
En un post anterior les hablaba sobre Cómo subir archivos con Laravel 5 usando la clase Storage(), el día de hoy les enseñaré un ejemplo básico de cómo usar Dropzone, una librería en javascript que permite la subida de archivos con drag and drop.
Continuando con nuestro Curso de creación de componentes para PHP y Laravel, en la lección de hoy aprenderemos sobre los patrones de diseño, específicamente el patrón (o también llamado anti patrón) Singleton pero ¿Qué es un patrón de diseño?.
Los patrones de diseño son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño de interacción o interfaces.
Los patrones de diseño se utilizan con la finalidad de estandarizar la forma en que desarrollamos el código ofreciendo soluciones reusables. Es importante señalar que el uso e implementación de un patrón de diseño no es obligatorio, pero en algunos casos es recomendado como parte de las buenas prácticas.
En este caso, cómo lo mencionaba anteriormente veremos qué es y como implementar el patrón Singleton.
Su intención consiste en garantizar que una clase sólo tenga una instancia y proporcionar un punto de acceso global a ella.
Regístrate para ver ésta y cientos de lecciones exclusivas.
Ahora que hemos aprendido cómo utilizar los diferentes métodos que forman parte del desarrollo de RWD, vamos a comenzar a aplicarlos de forma práctica.
Para los ejemplos que presentaremos usaremos el enfoque mobile-first que significa pensar y diseñar para móviles primero. La idea de este enfoque es asegurar que el contenido mostrado es el mismo en todos los tamaños de pantalla, asegurando que el contenido esté bien formateado y optimizado para móviles primero, y luego adaptarlo a pantallas más grandes. Con más de 50% de usuarios móviles en promedio a través de muchos países del mundo, no es de extrañar que esta metodología sea la más aceptada en el mundo de RWD.
Este tutorial esta hecho para aprender a hacer RWD manualmente, para entender bien cómo funciona y cómo controlar cada aspecto del mismo, por lo tanto no se usará ningún framework como Bootstrap o Foundation, los cuales explicaremos más adelante.
Hoy en día, frameworks como Symfony o Laravel trabajan para que sus componentes sean lo más desacoplados que sea posible, y pueda reemplazarse la implementación de ciertas clases por otra. Logrando así un código más escalable y flexible. Para ello, ambos frameworks se apoyan muchísimo en el patrón de inyección de dependencias. Este patron es tan importante, que hemos dedicado toda la parte 2 de nuestro curso de creación de componentes para PHP y Laravel, a hablar de él, incluso ¡Estamos creando nuestro propio contenedor de inyección de dependencias!
Con el patrón de inyección de dependencias, los objetos, de los cuales una clase depende, son inyectados a través del constructor o de métodos setters. Pero no todas las clases dependen únicamente de otras clases, muchas veces, por ejemplo, cuando utilizamos una clase para conectarnos a una base de datos o API, esta necesita de valores escalares, como pueden ser las cadenas para conectarse a una URL o host, un nombre de usuario y una clave.
El día de hoy implementaremos este feature dentro de nuestro contenedor, mientras aprendemos más sobre el uso de Reflection en PHP.
Regístrate para ver ésta y cientos de lecciones exclusivas.
Homestead es una maquina virtual (VM por sus siglas en ingles) para Vagrant configurada para desarrollar proyectos web, especialmente usando Laravel. Gracias a Homestead podemos configurar fácilmente en una sola VM todos los proyectos en los cuales estemos trabajando. Si no has utilizado esta herramienta, en nuestra serie dedicada a Vagrant y Homestead puedes encontrar varios tutoriales que te guiarán paso a paso en el proceso de instalación y configuración dependiendo del sistema operativo que estés utilizando.
La configuración de un nuevo proyecto en Homestead es muy sencilla en realidad, aún así, podemos agilizar el proceso haciendo uso de este plugin llamado vagrant-hostupdater, que nos ayuda a establecer de forma automática los hostname para cada proyecto evitando así la necesidad de editar manualmente el archivo hosts para cada instalación, algo que encuentro muy útil a la hora de trabajar con múltiples proyectos simultáneamente.
Una excepción es un evento inesperado que ocurre durante la ejecución de un programa e interrumpe la ejecución normal del mismo.
Una excepción es lanzada desde un método cuando las condiciones para la ejecución normal de dicho método no se cumplen, y luego puede ser atrapada en algún lugar del sistema utilizando un bloque try / catch.
La idea cuando estamos creando nuestros métodos y necesitamos crear una excepción, es crear una clase personalizada cuyo nombre debe describir qué componente produjo el error o cuál fue el error.
Además, aunque se produzca una excepción no «atrapada» en nuestro código, podemos, de igual forma, escribir una prueba con PHPUnit para probar este comportamiento.
Todo esto lo veremos en detalle en la lección de hoy:
Regístrate para ver ésta y cientos de lecciones exclusivas.
Frecuentemente mientras desarrollamos un proyecto nos interesa marcar o hacer referencia a un momento particular del código, como por ejemplo cuando hacemos una entrega a un cliente y queremos versionar el código entregado. Con git podemos marcar o etiquetar un commit para localizarlo y manejarlo de una manera rápida. En este tutorial aprenderemos cómo en git se puede crear, listar, borrar y enviar a repositorios remotos etiquetas de nuestro código.
La forma como hemos aprendido hasta ahora la implementación de las políticas de acceso es recomendable para proyectos de pequeño tamaño o sin demasiadas reglas de acceso. Pero a medida que avanzamos en el desarrollo del proyecto, la lógica se va haciendo más compleja y trabajando sólo con funciones anónimas no escala bien. En esta lección veremos cómo crear políticas de autorización y control de acceso de una manera más avanzada.
Regístrate para ver ésta y cientos de lecciones exclusivas.
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.