Parzibyte's blog

Blog de conocimiento gratuito: linux, programación, open source, bases de datos, android, frameworks, web e informática en general.

Ejecutar proyecto de Laravel en Android con Termux

En el post de hoy veremos cómo “programar” en Laravel desde Android, o dicho técnicamente, ejecutar un proyecto de Laravel (que usa PHP) dentro de un servidor Apache con PHP todo dentro de Termux corriendo sobre un dispositivo Android.

Las herramientas que necesitamos ya existen en Termux, y son php, mysql, composer y apache.

Además, no es obligatorio programar en el móvil (aunque sí posible); podemos simplemente montar un proyecto de Laravel en Android.

(más…)

Exportar base de datos de MySQL con Laravel

En este corto post de programación con PHP, Laravel y MySQL vamos a ver cómo exportar una base de datos de MariaDB completa desde un controlador de Laravel.

Vamos a usar la herramienta mysqldump atrapando su salida en un archivo y luego vamos a servirlo al cliente para finalmente eliminarlo, es decir, usaremos mysqldump para volcar la base de datos a un archivo SQL temporal.

Nota: si quieres también puedes ver el script que usa PHP puro y adaptarlo a Laravel:

https://parzibyte.me/blog/2018/10/22/script-respaldar-base-de-datos-mysql-php/

(más…)

Agrupar condiciones WHERE en SQL usando Laravel

En el post de hoy vamos a trabajar con Laravel, PHP y consultas SQL con WHERE. Como bien sabes, en MySQL o motores similares podemos agrupar condiciones usando paréntesis, estableciendo así un orden.

Por ejemplo, si queremos encerrar 2 condiciones y luego evaluarlas con un AND, haríamos algo así:

select * from `productos` where `id_establecimiento` = ? and (`descripcion` LIKE ? or `codigo_barras` LIKE ?) order by `descripcion` asc;

En este caso hacemos un and entre la primera comparación y el resultado de la segunda que está encerrada entre paréntesis para evaluar un or.

Esto es importante porque (para este ejemplo) si no se usaran paréntesis se podrían ver los productos de todos los establecimientos si es que el código de barras coincide.

Entonces veamos cómo agrupar y evaluar condiciones booleanas de la base de datos entre paréntesis usando el Query Builder y ORM de Laravel.

(más…)

Laravel: crear archivo de Excel

En este post veremos cómo crear un archivo de Excel usando Laravel. Verás que es realmente sencillo.

Te pondré un ejemplo simple y a partir del mismo podrás crear hojas de cálculo usando los modelos de Laravel que se conectan a la base de datos o trayendo el contenido desde cualquier lugar.

Vamos a usar PhpSpreadsheet del cual ya existe un post con PHP puro, pero ahora veremos cómo usar PhpSpreadsheet con Laravel.

(más…)

Laravel: restringir acceso según rol de usuario

En el post te hoy te enseñaré a manejar algunos roles de usuario en Laravel para que se pueda acceder a ciertas áreas dependiendo del rol.

Con lo que aprenderás podrás restringir ciertos módulos solo al administrador, y otros solo para el usuario normal, cajero, empleado, etcétera. Vamos a usar controladores y middlewares.

Por cierto, con esto vamos a restringir controladores completos, y no acciones. Eso lo dejamos para otro post en donde seguramente usaremos los Requests y el método authorize.

(más…)

Laravel: validar confirmación de contraseña

En el corto post de hoy veremos cómo validar que las contraseñas que el usuario escribe sean iguales al momento de registrar un usuario, es decir, que la contraseña y la confirmación de la contraseña coincidan.

Así vas a poder mostrar el mensaje de “Las contraseñas deben coincidir” o “Vuelve a escribir tu contraseña”

Esto se puede hacer con un if o cosas complejas, pero te enseñaré a comprobar si las 2 contraseñas son iguales dentro del Request que llega al formulario, dentro de StoreUserRequest específicamente.

Por cierto, estoy suponiendo que usas la autenticación de Laravel para crear usuarios o que al menos usas un Request para enviar el formulario.

(más…)

Agregar autenticación de usuarios en Laravel – Login y registro

En el post de hoy veremos cómo agregar la autentificación de Laravel a un proyecto existente para, más tarde, poder hacer un login o registro.

Si eres como yo y dejas la autenticación al final, este es tu post, pues te enseñaré a agregar la autenticación de usuarios a Laravel de manera simple y siguiendo siempre los patrones del framework.

No importa si haces esto en un proyecto fresco o avanzado, al final será igual de fácil. También veremos cómo administrar los usuarios.

Por cierto, voy a hacer todos los formularios a mano y no usaré ningún starter kit, pero sí usaré todo lo que Laravel proporciona en cuanto a la autenticación de usuarios.

(más…)

Trabajando con parámetros de ruta en Laravel

Hoy vamos a hablar un poco sobre los parámetros que se pueden pasar en la URL cuando usamos el framework Laravel y sobre la importancia del nombre de la variable que los mismos deben tener.

Recuerda que cuando usas un resource de Laravel, el framework asigna un nombre dependiendo del modelo; y varias veces no es el que esperamos.

Por otro lado debemos cuidar el nombre de la variable cuando recibimos el parámetro en un controlador.

Veamos cómo funcionan los parámetros de ruta en Laravel al usar resources y controladores, además de un truco para saber el nombre de los parámetros de las rutas de Laravel.

(más…)