Artículos

  • PHP 0

    number_format en PHP: mostrar números y precios formateados

    Guía práctica de number_format() en PHP: los 4 parámetros, cómo formatear precios en euros con coma decimal y punto de miles, combinar con sprintf, diferencia con money_format (eliminada en PHP 8) y por qué no resuelve la precisión de los floats.

  • PHP 0

    htmlspecialchars y strip_tags en PHP: sanitizar HTML correctamente

    Guía práctica de htmlspecialchars() y strip_tags() en PHP. Cuándo usar ENT_QUOTES para prevenir XSS, cómo funciona htmlspecialchars_decode, por qué strip_tags no basta como barrera de seguridad y el peligro de los event handlers en etiquetas permitidas.

  • PHP 0

    Event sourcing en Laravel: cómo guardar el historial completo de cambios

    Event sourcing es una alternativa al CRUD clásico donde guardas todos los eventos que ocurren en tu app en lugar del estado final. Aprende a implementarlo en Laravel con el paquete de Spatie.

  • PHP 0

    Composer en 2026: gestión de dependencias PHP que ya no tiene excusas

    Composer es la herramienta estándar para gestionar dependencias en PHP: descarga paquetes, resuelve versiones y genera el autoloader. Esta guía explica cómo funciona de verdad y qué buenas prácticas conviene aplicar en 2026.

  • PHP 0

    wordwrap y nl2br en PHP: formatear texto largo para la web

    Aprende a usar wordwrap() y nl2br() en PHP para formatear texto largo. Cubre wordwrap para cortar líneas, el parámetro cut_long_words para URLs, nl2br para mostrar saltos de línea, y cómo combinarlas con htmlspecialchars de forma segura.

  • PHP 0

    str_pad y str_repeat en PHP: rellenar y repetir cadenas

    Guía práctica de str_pad y str_repeat en PHP: padding con ceros a la izquierda para pedidos y SKUs, alineación de columnas en texto plano, STR_PAD_BOTH para cabeceras y barras de progreso en scripts CLI. Incluye avisos sobre UTF-8 y mb_str_pad.

  • PHP 0

    Inyección CSV: la vulnerabilidad silenciosa en los botones de exportar

    Cuando exportas datos de usuario a CSV, ese fichero puede convertirse en un vector de ataque real. Te explico qué es la inyección CSV, por qué fputcsv no protege y cómo solucionarlo en PHP.

  • PHP 0

    RoadRunner y Swoole en 2026: PHP como servidor persistente de alto rendimiento

    PHP no tiene por qué morir con cada petición. RoadRunner, Swoole y FrankenPHP permiten arrancar el worker una sola vez y procesar miles de requests sin volver a cargar el framework, con una ganancia real en latencia que PHP-FPM clásico no puede igualar.

  • PHP 0

    trim en PHP: limpiar espacios y caracteres al inicio y al final

    Guía práctica de trim(), ltrim() y rtrim() en PHP: qué caracteres eliminan por defecto (espacios, tabs, null bytes), cómo usar el segundo argumento para limpiar caracteres personalizados, ejemplos con formularios, CSV y rutas de fichero, y la trampa con UTF-8 multibyte.

  • PHP 0

    strpos en PHP: buscar texto en cadenas sin confundir el cero

    Aprende a usar strpos(), strrpos() y stripos() en PHP sin el error más habitual: confundir la posición 0 con false. Con ejemplos de $offset, búsqueda insensible a mayúsculas y cuándo cambiar a str_contains en PHP 8.