Newsletter para devsEntra

Laravel series II: Instalación + Artisan

Laravel-instalacion-artisan-tinker

Seguimos con nuestra Laravel series en la que damos un repaso a este Framework PHP que evoluciona más en versiones que un Pokemon.

Si queréis echar un vistazo a los artículo de esta serie, os dejo aquí los enlaces:

Si habéis aterrizado en este artículo directamente y no tenéis muy clara la arquitectura en la que se basa Laravel, no dudéis en pasaros por el primer artículo de la serie.

Soy consciente de que la teoría aburre, pero también soy consciente de que es totalmente necesaria para empezar con buen pie.

En esta ocasión nos toca ponernos manos a la obra, mancharnos las manos. Y para ello nada mejor que empezar con la instalación de este Framework en local para poder empezar a sacar partido a este framework.

Instalación

En el momento que escribo este artículo, Laravel se encuentra en su versión 8, así que nos basaremos en esta versión para su instalación.

Podéis encontrar toda la documentación oficial de Laravel en su web oficial.

El primer paso a la hora de trabajar con sistemas que basan su tecnología en el lenguaje de programación PHP es instalar Composer en nuestro sistema.

Composer es el gestor de librerías por excelencia de PHP y con él, instalar una librería en local es tan sencillo como ejecutar un comando.

En la web oficial de Composer podéis descargar el instalador según vuestro sistema operativo.

Esta acción permitirá que podáis ejecutar comandos Composer desde la consola de vuestro sistema operativo.

Yo trabajo con Windows y la consola que utilizo es GIT Bash. No está estrechamente ligada a Windows, así que la podéis descargar para vuestro sistema operativo.

Además de esto, es necesario que PHP esté instalado en vuestro equipo. Laravel tiene la capacidad de levantar un servidor local para que podamos ver el resultado de nuestra aplicación, pero PHP debe estar instalado en local.

Personalmente siempre me gusta instalar un PHP puro que me bajo de la web oficial de PHP, pero sentiros libres de utilizarlo con cualquier paquete de servidor que integre PHP.

En mi equipo local estoy ejecutando la versión de PHP 7.4.9.

Una vez instalado Composer, ya podemos ponernos manos a la obra con Laravel.

Desde el enlace a la web oficial de Laravel, el que tenéis al principio de esta sección, podéis revisar directamente los pasos de la instalación de este framework.

No tenéis porqué ceñiros a Composer, si estáis más acostumbrados a la consola de MacOS o Linux, en la documentación podéis encontrar la forma de instalarlo desde la línea de comandos de vuestro sistema operativo.

Hay dos formas de instalar Laravel mediante Composer, podéis instalarlo del forma global en vuestro ordenador (de este modo cada vez que creéis una nueva aplicación de Laravel, podréis crear el proyecto sin necesidad de utilizar Composer). O bien podéis crear un proyecto sin necesidad de tener el instalador de Laravel instalado en vuestro equipo de forma global.

Para instalar Laravel de forma NO global, ejecutad este comando dentro de la carpeta donde almacenéis vuestras carpetas de proyectos habitualmente:

composer create-project laravel/laravel example-app

cd example-app

Para instalar el instalador de proyectos Laravel de forma global:

composer global require laravel/installer

Y si queréis crear un proyecto, tanto ahora como en un futuro, sólo necesitáis ejecutar el siguiente comando:

laravel new example-app

cd example-app

Por último sólo necesitamos ejecutar el comando:

php artisan serve

Pero…

¿Qué es eso de artisan, Juanjo?

Ahora mismo os lo cuento.

Artisan

El comando Artisan ejecutado directamente contra el servidor PHP que acabamos de ejecutar es algo que vais a ver mucho si os decidís a utilizar este framework; a su vez se trata de una de las herramientas más potentes del mismo ya que te permite ejecutar una serie de comandos que facilitarán el trabajo con Laravel.

Tal y como reza la documentación de Laravel sobre Artisan, es un interfaz de la línea de comandos que viene incluida con Laravel y que se ejecuta desde el la carpeta raíz de vuestra aplicación web.

Si queréis echar un vistazo a todos los comandos que integra Artisan, desde el raíz del sitio ejecutad:

php artisan list

Si además necesitáis ayuda sobre un comando en concreto del listado, todos incluyen una ayuda que podéis mostrar mediante (en este caso para el comando migrate):

php artisan help migrate

Cabe destacar que al ser Laravel un framework enfocado al modelo vista controlador (MVC), todos los comandos que tienen relación con este modelo están integrados en Artisan. Así, para crear un controlador, podemos ejecutar:

php artisan make:controller MyController

Con este comando de generación de controladores, Artisan entenderá que deseas crear un controlador y colocará el mismo dentro de su carpeta de controladores correspondiente, en este caso App\Http\Controllers\.

Pero no sólo eso, el controlador contendrá toda la estructura base necesaria para su funcionamiento:

  • Incluirá en namespace correspondiente a tu aplicación.
  • Extenderá la clase necesaria para que el controlador realice sus funciones dentro del entorno Laravel.

Este sería el resultado de la ejecución del comando de creación de controladores:

<?php

namespace App\Http\Controllers;

use App\Http\Controllers;

class MyController extends Controller
{
}

Pero aquí no queda la cosa, otra posibilidad que integra Artisan y que hace alarde de la potencia de este comando, es la posibilidad de integrar un REPL para poder interactuar con tu aplicación desde la línea de comandos y sin tener que pasar por el navegador.

Tinker

Un REPL es un entorno de programación que hace eso mismo que hemos explicado, toma la entrada del usuario, las integra en la aplicación y devuelve un resultado.

El REPL por excelencia de Laravel es Tinker.

Para instalar Tinker en vuestra aplicación tendréis que ejecutar el comando de Composer:

composer require laravel/tinker

La ejecución de Tinker se realiza a través de Artisan con el comando:

php artisan tinker

Pero os estaréis preguntado:

¿Para qué es útil Tinker realmente?

Pues os lo explico con un ejemplo:

Tinker es capaz de interpretar lo que el usuario escribe por consola, así que una vez que ejecutemos Tinker (php artisan tinker), nuestra consola quedará a la espera de la introducción de comandos, en ese momento podemos utilizar PHP desde la consola y por ejemplo declarar una variable, hacer una operación matemática y mostrar el valor de la variable:

>>> $var = 1 + 2 ;
3
>>> echo $var ;
3

Pues lo mismo pasa con nuestra aplicación. Podemos ejecutar instanciaciones de clases, declarar variables que pasarle a esa clase, ejecutar métodos, insertarle comandos, interactuar con la base de datos, etc. y todo esto desde la línea de comandos.

No os perdáis los siguientes capítulos de la saga porque seguro que lo utilizaremos en algún momento.

Escrito originalmente por: Juan José Ramos

Imagen de Daniel Primo

Daniel Primo

CEO en pantuflas de Web Reactiva. Programador y formador en tecnologías que cambian el mundo y a las personas. @delineas en twitter y canal @webreactiva en telegram

12 recursos para developers cada domingo en tu bandeja de entrada

Además de una skill práctica bien explicada, trucos para mejorar tu futuro profesional y una pizquita de humor útil para el resto de la semana. Gratis.