articulo

El aprendizaje de Laravel

Esta nota es un poco más personal, resulta que en un curso que nos impusieron asistir, nos enseñan laravel, un framework de php que ayuda a la creación de aplicaciones web, bajo la metodologia MVC (Modelo Vista Controlador)

En lo particular no me gustan muchos los framework (sin embargo no quiere decir que no lo s haya usado), mas si no hay un objetivo para aprenderlo, es decir, no se implementará en algún lado o se desarrollara algo con ello. Lo cierto es que para usar cualquier framework hay que tener un conocimiento previo para su uso.

Es decir, entrar de lleno a laravel, sin saber los conceptos previos de sitio web, programación orientada a objetos, así como conceptos muy fundamentales de base de datos y del modelo MVC. Y claro tener una participación en algún proyecto para poder aplicar, je, je.

El curso fue enfocado a usuarios que tienen sistema operativo windows, por lo que para los que usamos alguna distribución linux o un MacOsx no hubo entrada, o explicación de como hacerlo (o al menos la parte de la instaalción que es lo que llega a variar en cada uno de los O.S.), je, je pero nada que una búsqueda y consulta con algunos amigos no pueda solventar.

Primero lo que hay que hacer es entender como funciona laravel.

Imagen 1. Modelo vista controlador. Fuente: tomado de guiadev.com.

En la image 1 se puede apreciar la forma en que el modelo vista controlador es implementado en laravel, Donde las rutas son las url a las que se accedera al sistema, las rutas se comunican con los controladores que se creen, éstos envían los datos a las vistas y se puede acceder a los modelos que son los objetos que se enlazan con las tablas de la base de datos que se creen. Los requisitos para poder instalar laravel son:

Requisitos para laravel

Hay que asegurarse de que en el equipo se encuentre instalado los siguientes requisitos de software:

  • Versión de PHP 5.6.4 como mínimo
  • Extensión de PHP OpenSSL
  • Extensión de PHP PDO
  • Extensión de PHP Mbstring
  • Extensión de PHP Tokenizer

como todo Framework laravel hace uso de diferentes tecnologías entre las que destacan las siguientes:

  • Composer: es una herramienta que permite gestionar las dependencias en PHP. Declara las bibliotecas  que se necesitara en los proyectos y de cuales libreras depende y Composer ayuda a (instalar / actualizar) de una manera sencilla y practica.
  • Blade: es un motor de plantillas, Blade es simple pero potente y esta integrado ya en Laravel. Blade no restringe el uso de código PHP normal en sus vistas. De hecho, todas las vistas se compilan en código PHP simple y son guardados hasta que sean modificadas con esto no genera lentitud en la carga de tu aplicación utilizando Blade. Los archivos de vista de Blade utilizan la extensión de archivo .blade.php y normalmente se almacenan en el directorio Resources / views.
  • Artisan: es la interfaz en línea de comandos (shell) que se incluye con Laravel. Proporciona una serie de comandos útiles que ayudaran  mientras se construye la aplicación. Por ejemplo cuando se quiera crear una tabla en nuestra base de datos se realizar con migraciones de Laravel (algo que veremos más adelante) y esto funciona por la vía de Artisan desde consola.
  • JSON: JavaScript Object Notation, es un formato ligero de intercambio de datos. Leerlo y escribirlo es simple para humanos, mientras que para las máquinas es simple interpretarlo y generarlo.
  • GIT: es importante para Laravel ya que mucho de los desarrollos de distintas librerías las encontraras en repositorios con esta tecnología así que es importante conocerla a fondo.
  • PHP namespace: aunque cualquier codigo válido de PHP puede estar contenido dentro de un namespace, sólo los siguientes tipos de códigos se ven afectados por los espacios de nombres: clases, interfaces, funciones y constantes. Los namespaces se declaran usando la palabra clave namespace. Un archivo que contiene un namespace debe declarar el namespace en la parte superior del archivo antes de cualquier otro código – con una excepción: la palabra clave declare.
  • Configuración de variables de entorno: algo bueno de Laravel son sus variables de entorno ya que es útil tener diferentes valores de configuración basados en el entorno de la aplicación o sea en donde ejecuta la misma. Por ejemplo, es posible que desee utilizar un controlador de caché diferente en ambiente de desarrollo que en el de producción. Para que esto simple laravel utiliza la biblioteca DotEnv PHP. En una instalación nueva laravel, el directorio raíz de la aplicación contendrá un archivo .env.example. Si instala a través de laravel composer, este archivo automáticamente se cambiará el nombre a .env. De lo contrario, se debe cambiar el nombre del archivo de forma manual.
Instalando Xamp (servidor web + mariadb y otros)

Tener instalado XAMP, un paquete de software libre que incluye un servidor web (apache), un gestor de base de datos (Mariadb) y un entorno web para manejar los datos de Maria (phpmyadmin). Para instalarlo en fedora debes de tipear los siguientes comandos:

  • dnf -y update
  • dnf -y install lbnsl
  • dnf -y install wget //en caso que no lo tengas instalado, si ya se tiene instalado no pasa nada
  • wget https://www.apachefriends.org/xampp-files/8.0.6/xampp-linux-x64-8.0.6-0-installer.run
  • chmod a+x xampp-linux-x64-8.0.6-0-installer.run
  • ./xampp-linux-x64-8.0.6-0-installer.run

Después de ejecutar cada línea de comando anterior, aparecerá el asistente de instalación al estilo windows, hay que seguirlo y listo al finalizar se tendría un servidor web, un gestor de base de datos y una interfaz para el manejo de la misma. Ahora hay que instalar algunos modulos para php y el componser para ello se debe de seguir los siguientes pasos:

  • dnf -y install php php-zip php-mysqlnd php-mycrypt php-xml php-mbstring
  • dnf -y install composer unzip
Instalando laravel

Ahora hay que moverse a la carpeta htdocs del xamp o en su caso al /var/www donde se descargara la versión de laravel que se descargará desde git. para ello se hace uso de los siguientes lineas de comando:

  • cd /var/www
  • git clone https://github.com/laravel/laravel.git

Ahora hay que desplazarse hasta /var/www/laravel para ejecutar la instalación de laravel. esto incluye dar algunos permiso, se realiza con el siguiente comando:

  • cd /var/www/laravel
  • composer install
  • chown -R username:apache /var/www/laravel
  • chmod -R 755 /var/www/laravel
  • chmod -R 755 /var/www/laravel/storage
  • chcon -R -t httpd_sys_rw_content_t /var/www/laravel/storage

Bueno, hasta este punto se ha realizado la parte de la instalación ahora se configurara laravel para ello hay que editar o copiar el archivo de envirroment por lo que se ejecuta los siguientes comandos, no olvidar que se sigue trabajando bajo la ruta /var/www/laravel. el fichero que se va a copiar es un .env.example a .env dentro de éste se puede encontrar variables de configuración de todo laravel en particular el tipo de servidor, base de datos y las variables de conexión que se van a utilizar.

  • cp .env.example .env
  • php artisan key:generate
  • cat .env
  • php artisan serve

Las lineas de php artisan key:generate permite crear una semilla de encriptiación que permitirá encriptar los servicios de la aplicación que se cree. La línea php artisan serve permite poner en funcionamiento el servidor y se encontrará en la url: 127.0.0.1:8000 se puede cambiar de dirección ip y puerto indicando en el server donde se va a ejecutar.

  • php artisan serve –host 0.0.0.0 –port: 8000

Ahora solo falta configurar un host para laravel en php claro de manera virtual para ello se crea un archivo llamado laravel.conf y debe de estar en la siguiente ruta: /etc/httpd/conf.d/laravel.conf. lo que debe de contener este fichero es:

<VirtualHost *:80>
       ServerName laravel.tecadmin.net
       DocumentRoot /var/www/laravel/public

       <Directory /var/www/laravel>
              AllowOverride All
       </Directory>
</VirtualHost>

Ya solo falta reiniciar el servicio de apache y listo, esto se hace con la siguiente instrucción:

  • systemctl restart httpd.service

Hasta este punto se tiene instalado y configurado laravel con el servidor apache en nuestro equipo con fedora. Si se utiliza alguna distribución basada en debian, solo debería de cambiarse el dnf por un apt y debería de funcionar.

Referencias bibliográficas.
  • Andres, Introducción a laravel desde cero, 10-01-22. https://guiadev.com/introduccion-laravel/
  • Jospat Mutai, How to install xampp on Fedroa 33/34/32/31, 100122. https://computingforgeeks.com/how-to-install-xampp-on-fedora/

One Comment

Leave a Reply

Your email address will not be published. Required fields are marked *