En este tutorial aprenderás paso a paso cómo instalar todo lo necesario para empezar a desarrollar con Laravel en Windows. Voy a suponer que ya tienen instalado el servidor web Apache mediante XAMPP o WAMPP. Para la realización de este tutorial se utilizó XAMPP, pero, si utilizas WAMPP, EasyPHP o algún otro, los pasos seguirán siendo los mismos, aunque algunos directorios pueden variar.
¡Empecemos!
1. Instalar Composer
Composer es una herramienta para gestionar las dependencias en PHP. Te permite declarar las librerías de las cuales tu proyecto depende o necesita y las instala en el proyecto por ti, si deseas saber más acerca de Composer lee el siguiente post.
Para instalar Composer en Windows debemos descargarlo de su página oficial y en la sección Windows Installer, haz click en Composer-Setup.exe.
Ya te enseñamos todo sobre Vagrant, también te hablamos sobre Laravel Homestead, incluso hicimos un videotutorial donde te explicamos cómo instalar Vagrant y Homestead paso a paso; sin embargo, quizás quedaste preguntándote: ok, esto es genial, pero ¿Cómo agrego sitios nuevos? ¿Puedo eliminar el puerto 8000? ¿Cómo puedo administrar mis base de datos en Homestead? ¿Puedo instalar PHPMyAdmin en Vagrant o configurar Sequel Pro?
Todas estas preguntas a tus dudas las voy a aclarar hoy en este videotutorial:
En la clase anterior les expliqué cómo podemos hacer que nuestros sistemas sean más flexible con el uso de interfaces.
En teoría, una interfaz, en la programación orientada a objetos, nos permite que podamos crear diferentes implementaciones de una clase o componente, por ejemplo diferentes implementaciones de un repositorio.
Otros tutoriales por lo general se detienen aquí, porque en la práctica no es tan sencillo, pero sí es posible y yo hoy se los demostraré con el siguiente videotutorial, donde vamos a crear un repositorio de secciones que va a usar colecciones (arrays) en vez de bases de datos y Eloquent. Pero antes de comenzar veremos un par de conceptos importantes:
Una interfaz en la vida diaria es una manera común de usar cierto tipo de objetos, por ejemplo esperamos que todos los autos, sin importar su marca, modelo, año o tipo, tengan ciertos elementos como son un volante, pedales para el acelerador y el freno, etc.
En informática este tipo de conceptos se aplica a ciertos dispositivos que aunque puedan ser diferentes entre sí comparten interfaces comunes como son los puertos de acceso (USB, HDMI, etc.)
En la programación orientada a objetos las interfaces nos permiten crear objetos aún más flexibles, dado que si un controlador necesita un repositorio, podemos solicitar una interface en vez de una implementación en concreta, vean el siguiente ejemplo:
En tutoriales anteriores te explicamos cómo crear entornos de desarrollo virtuales con Vagrant y Homestead, si aún no los han leído les recomiendo que lo hagan antes o después de ver el video.
Hoy quiero irme a la práctica y demostrarles cuan fácil es instalar estos entornos de desarrollo en nuestro computador, con este video de 15 minutos.
El framework Laravel 4 cuenta con una característica importante, y es que fue reconstruído de manera modular, de tal forma que sus componentes pudieran ser utilizados independientemente.
Algunas veces decidimos no utilizar un framework full-stack en nuestros proyectos con el fin de llevar a cabo una organización personalizada de los directorios o por cualquier otro motivo, pero por todos es conocido aquel dicho de no reinventar la rueda; así que si existen herramientas tan buenas como los ORM no hay razón para que aún estemos escribiendo sentencias SQL directamente en nuestro código (a menos que, una vez más, sea un motivo de fuerza mayor debido a las particularidades del proyecto).
Hay diversas soluciones libres para la implementación de un ORM en un proyecto PHP, como PHP Active Record, pero dado que los lectores de este blog somos amantes de Laravel, preferimos Eloquent para llevar a cabo esta tarea. Así que vamos a ello…
Vamos a refactorizar nuestro módulo de secciones una vez más, y esta vez será una refactorización más fuerte porque vamos a eliminar la carpeta de modelos de Laravel (models/), y vamos a crear una nueva estructura para nuestra aplicación basada en PSR-4. Para ello comenzaremos una refactorización donde extraeremos lógica de nuestros controladores y modelos a otras capas, comenzando así a liberar de responsabilidades a nuestras clases, cumpliendo con el Singe Responsability Principle, que es la base de los principios básicos de la programación orientada a objetos, conocidos como SOLID.
Ya sabemos que el principal objetivo de Laravel es hacerte mucho más fácil, rápido y especialmente divertido el desarrollo de tus ideas y aplicaciones. Por otra parte, ya te explicamos las ventajas de utilizar Vagrant, un programa que facilita la administración de máquinas virtuales de desarrollo
Hoy les presentamos el siguiente paso de usar Vagrant, se llama Homestead y viene de la mano del mismo desarrollador de Laravel, Taylor Otwell, así que no tienes nada que temer, Taylor quiere que seas feliz y después de tener Homestead instalado, lo serás.
Homestead combina Vagrant + Laravel creando así la unión perfecta para empezar a desarrollar tu aplicación web rápidamente. Homestead es básicamente una caja o ‘box’ en la terminología de Vagrant que trae instalado todo el software necesario para programar una aplicación en Laravel, entre ellos están:
El lanzamiento de Laravel 4 (también conocido como Illuminate), representó un gran cambio con respecto a la versión anterior. Laravel 4 reemplazó un framework que estaba construido mayormente por métodos estáticos, con otro que usa el poder de la inyección de dependencias, además de otros conceptos como los proveedores de servicio (o service providers) y, por supuesto, Composer. Sin embargo, a través del uso de Facades, se mantuvo el uso de los llamados como Route::get, View::make, etc.
Por lo tanto la versión 4, aunque incluyó muchos features, fue más, en mi opinión, un cambio de estructura por dentro, que de cara al usuario. Es decir, instalas Laravel 4 y aún puedes ver las mismas carpetas app/controllers, app/models/, y las mismas rutas en routes.php que tenías en Laravel 3:
Ahora, Laravel 5, además de nuevos features que amo como la inyección de dependencias dentro de los métodos, y otros que no me gustan tanto como las anotaciones en los controladores, es un cambio más hacia al usuario, la infraestructura del framework sigue siendo muy similar, pero el cambio se le plantea al usuario. Comenzando con un directorio de carpetas completamente nuevo:
Codio es un IDE alojado en la nube y por lo tanto puedes acceder cuando quieras, desde donde quieras. No necesitas instalar nada, solo hay que tener un navegador web. Por ejemplo, yo uso Codio desde mi Chromebook (Chrome OS), desde mi Casa (Windows), desde mi oficina (Debian) y lo único que tengo que hacer es abrir un navegador, iniciar sesión y empezar a desarrollar.
Crear un proyecto con Laravel en Codio
Lo primero es crear una cuenta para usar Codio. Después de esto solo debes crear un nuevo proyecto con el boton “Create Project” en la esquina superior derecha…
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.