Exportar base de datos de MySQL con Laravel hacia un archivo SQL

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:

Script para respaldar una base de datos de MySQL con PHP

(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…)

Controlar bombilla con Arduino, Bluetooth y teléfono móvil

Hoy te mostraré un proyecto que hice hace algún tiempo (año 2017) pero no publiqué ni documenté. Se trata de apagar y encender la luz de una habitación usando tu teléfono, de manera inalámbrica.

Recuerda que puedes modificar el circuito que te mostraré, así como usar tus propios componentes, hacer mejoras, etcétera. Yo te enseñaré cómo lo hice personalmente. Lo que pasará realmente será:

  1. El Arduino estará conectado a un módulo Bluetooth y a un relevador. La bombilla de tu habitación estará conectada a la toma de corriente y al relevador.
  2. Cuando le envíes un dato al módulo Bluetooth, el Arduino lo va a leer y dependiendo de ello apagará o encenderá (si se le puede considerar así) al relevador, y el mismo dejará pasar o quitará la energía eléctrica que va desde la toma de corriente a la bombilla o foco.
  3. Desde nuestro teléfono vamos a enviar un valor al módulo Bluetooth, aunque puede ser también desde una computadora que envíe valores por el mismo medio.

Nota importante: no me hago responsable si algo sale mal, recuerda que es peligroso trabajar con la energía eléctrica doméstica, así que toma todas las precauciones.

(más…)

Leer variables de ruta con Spring Boot

Cómo acceder a una variable de la URL en Spring Boot

Cuando programamos en Java usando el framework Spring Boot es muy común definir rutas en donde se define un parámetro pasado a través de la URL.

Por ejemplo, podemos tener la siguiente ruta:

http://localhost:8080/productos/editar/16

En este caso el último número es un parámetro de la ruta. Ahora bien, ¿cómo acceder a la variable de la ruta en el controlador de Spring Boot?

(más…)

3 - Ejecutar app de Spring Boot con gradlew

Iniciar con Spring Boot usando Gradle

Iniciar proyecto de Spring Boot usando Gradle

Tutorial para iniciar en Spring Boot usando Gradle: en este post te voy a enseñar cómo crear tu primer proyecto usando Spring Boot, un framework web de Java.

Veremos cómo iniciar un nuevo proyecto, hacer un hola mundo con Spring Boot y generar finalmente un archivo JAR para empaquetar el proyecto compilado.

Todo esto lo haremos con Gradle, verás que es realmente sencillo.

Nota: puedes probar y descargar el JAR generado en este enlace, solo asegúrate de tener Java en tu PC.

También puedes ver todo el código en el repositorio de GitHub.

(más…)

Middleware en CodeIgniter

CodeIgniter, en su versión 3, carece de un buen middleware.

Hace más de medio año hice un proyecto en donde, para controlar las sesiones de una manera fácil (y proteger el acceso) necesité un middleware sencillo.

Por eso es que hoy vamos a ver cómo instalar un Middleware en CodeIgniter de una manera fácil.

(más…)

Primera vista y controlador en Ruby on rails

Comenzar a programar en Ruby On Rails en Windows

Anteriormente vimos cómo instalar y configurar Ruby en Windows 10. Ahí instalamos todo lo necesario para instalar y compilar algunas gemas.

Aquí veremos cómo instalar la gema de rails para comenzar a programar en Ruby on rails en Windows 10. De todos modos, Ruby es un lenguaje de programación portable y puede ser llevado a otras plataformas; por lo que el código escrito en Windows es igualmente válido para otras plataformas como Linux.

(más…)

Generador de código (Modelo, vista y controlador) para CodeIgniter

Introducción

Hace algún tiempo, por diversión, escribí un generador de código de CodeIgniter.

Todo nació a partir de una plática con unos amigos sobre hacer un script que, dada una base de datos, generase el código necesario del modelo, la vista y el controlador para que un ser humano hiciera las operaciones básicas.

Obviamente este generador de código de CodeIgniter es algo hecho por diversión y que no debería usarse en producción pero es entretenido de usar.

Para escribirlo no usé nada más que el propio lenguaje de PHP. Y no, no es magia, son simples concatenaciones de cadenas, formateo de las mismas con sprintf y condiciones.

Pero bueno, vamos por partes y veamos cómo funciona, porque sí, claro que funciona y puede generar un CRUD en menos de un segundo 🙂

(más…)

Ejemplo de controlador en CodeIgniter 3

Introducción

Acabamos de ver cómo crear y usar un modelo en el framework CodeIgniter. Veamos ahora un ejemplo de cómo se usan los controladores en CodeIgniter. Vamos a definir un controlador y ver cómo se invoca.

Un controller se usa como pegamento entre el modelo y la vista. También se usa para conectar los datos que pone al usuario con la base de datos, a través del modelo.

Por ejemplo, reciben datos de un formulario y los pasan al modelo, dependiendo del resultado le devuelven un mensaje al usuario.

(más…)

Ejemplo y anatomía de un modelo en CodeIgniter 3

Introducción

Hoy veremos un ejemplo de modelo en CodeIgniter 3 para ver cómo podemos crearlo, además de las ventajas que tiene y las responsabilidades que le podemos asignar.

En CodeIgniter, un modelo representa un objeto o una entidad dentro de nuestro sistema. Por ejemplo, podemos tener el modelo Usuario, Venta, Recibo, Mascota, etcétera. Es como una clase (técnicamente sí es una clase, pero me refiero al modo de abstraerlo) que se comunica con un controlador.

(más…)