Formatear dinero en PHP

En este post de PHP te mostraré cómo darle formato a la moneda o dinero en PHP. No será algo complejo ni algo que use librerías, simplemente haremos que se formatee colocando comas en donde se debe, así como puntos decimales.

Vamos a usar la función number_format. Al final vamos a lograr que algo como 12225 se convierta en algo como $12,225.00.

(más…)

Consultas manuales / raw en Laravel

A pesar de que Laravel tiene su ORM y Query Builder en algunas ocasiones vamos a necesitar ejecutar consultas “a mano”, es decir, ejecutar una consulta raw o una query manual.

Una desventaja que traen las consultas raw (que reciben la consulta como cadena) es que son propensas a inyecciones SQL, pero con lo que te mostraré hoy podrás hacer consultas raw en Laravel evitando inyecciones SQL.

(más…)

Especificar nombre de tabla en Laravel

Cuando usamos Laravel y los modelos del mismo, se crea un nombre de tabla (que será creada en la base de datos) que no siempre será correcto, sobre todo si está en idioma español.

Por ejemplo, yo tenía un modelo llamado MensajeIndividual pero el nombre de la tabla estaba como mensaje_individuals.

Hoy veremos cómo cambiar el nombre de la tabla en el modelo y en la migración (en caso de que exista).

(más…)

Demostración openlayers con marcadores y coordenadas

Tutorial OpenLayers: marcadores, coordenadas, eventos y datos dinámicos

En este post te mostraré un ejemplo de proyecto con OpenLayers en donde se muestran:

  • Introducción a OpenLayers
  • Descargar OpenLayers
  • Creación de mapa
  • Centrado de mapa en determinada ubicación
  • Marcadores personalizados con imagen propia
  • Listener de eventos como click o zoom cambiado
  • Consumo de API PHP para obtener los marcadores

Voy a desglosar cada cosa y al final dejaré el código del proyecto completo.

(más…)

Factura PDF con PHP - Documento PDF

Factura PDF con PHP – Ejemplo completo

Resumen: generar una factura PDF con PHP, es decir, un ticket, recibo, boleta o invoice que tenga detalles de un cliente, del emisor, número de factura, fecha y productos que se venden, así como el total con impuestos y descuento.

Para generar la factura vamos a usar la librería dompdf que convierte HTML a un PDF nativo. Aunque por el momento será estática, puedes usar más tarde una base de datos con PHP.

(más…)

PHP: Saber si sesión está iniciada

Hoy andaba revisando mi sistema de cotizaciones y descubrí un pequeño error al cerrar la sesión que decía:

Notice: session_start(): A session had already been started – ignoring

Abajo del mismo, aparecía lo siguiente:

Warning: Cannot modify header information – headers already sent by (output started at archivo.php)

Así que veremos la solución a ese mensaje de error y también veremos cómo saber si una sesión de PHP está iniciada.

(más…)

Formulario de contacto con PHP - Diseño de formulario

Formulario de contacto en PHP y Bootstrap

Resumen: Crear formulario de contacto en PHP y Bootstrap usando mail

Los formularios de contacto son esenciales en una página web donde hay interacción con clientes o usuarios, pues así pueden pedir más información o enviar un mensaje.

Hoy vamos a ver cómo crear un formulario de contacto con PHP muy simple:

  1. Será un formulario en donde se pedirá el nombre, correo y mensaje
  2. Esos 3 datos serán enviados al correo electrónico del administrador del sitio y se podrá responder directamente al correo del remitente

Para ello vamos a usar la función mail y un formulario de Bootstrap.

(más…)

Aplicaciones multiidioma en PHP

El soporte para múltiples idiomas o lenguajes es una gran característica a la hora de desarrollar aplicaciones web con PHP, pues así podemos tener sitios traducidos sin mucho esfuerzo.

Múltiples idiomas con PHP

Aunque PHP soporta de manera nativa opciones como gettext para aplicaciones multilenguaje siempre vamos a necesitar una opción más robusta y simple.

Por ello es que hoy vengo a exponer un enfoque de cómo desarrollar aplicaciones multiidoma con PHP utilizando un componente de Symfony (no el framework, solo un componente que se puede integrar a cualquier proyecto) llamado translation.

(más…)