zediz/frieren

Utilería PHP para manejo de archivos en bucket y envío de correos electrónicos.

Maintainers

Package info

github.com/Zediz/frieren

pkg:composer/zediz/frieren

Statistics

Installs: 8

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.2 2026-03-26 23:05 UTC

This package is auto-updated.

Last update: 2026-03-26 23:07:03 UTC


README

Tests Latest Version on Packagist PHP Version Require License

Utilería PHP para manejo de archivos en bucket y envío de correos electrónicos. Requiere PHP 8.0+.

Instalación

composer require zediz/frieren

Variables de entorno requeridas

# Almacenamiento
FILE_BASE_URL=https://tu-bucket.com
FILE_STORAGE_PASSWORD=tu-token
FILE_STORAGE_FOLDER=mi-proyecto/

# Email
HOST=smtp.tuservidor.com
EMAIL=noreply@tudominio.com
EMAIL_PASSWORD=tu-password
PORT=587
SENDER_NAME=Tu Empresa
PRODUCTION=false

# Solo en desarrollo
TEST_EMAIL=dev@tudominio.com

# Solo en producción (BCC de calidad)
QC_EMAIL=qc@tudominio.com

Uso

Manejo de archivos

use Zediz\Frieren\Frieren;

// Subir un archivo desde $_FILES
$resultado = Frieren::saveFile($_FILES, '/usuarios/avatars');
// $resultado => ['path' => '...', 'filename' => '...', 'size' => ..., 'mime' => '...']

// Mover un archivo dentro del bucket
$movido = Frieren::moveFile('/usuarios/temp/foto.jpg', '/usuarios/definitivo');

// Eliminar un archivo
$eliminado = Frieren::deleteFile('mi-proyecto/usuarios/foto.jpg');

Envío de correos

use Zediz\Frieren\Frieren;

// Enviar correo directo
$enviado = Frieren::sendEmail(
    recipients: ['Juan Pérez' => 'juan@ejemplo.com'],
    subject: 'Bienvenido',
    body: '<h1>Hola Juan</h1>'
);

// Usar un template HTML
$body = Frieren::parseEmailTemplate('bienvenida', [
    '||NOMBRE||' => 'Juan',
    '||LINK||'   => 'https://miapp.com/activar/abc123',
]);

Frieren::sendEmail(['Juan Pérez' => 'juan@ejemplo.com'], 'Bienvenido', $body);

Los templates deben estar en la carpeta email_templates/ en la raíz del proyecto:

tu-proyecto/
├── email_templates/
│   ├── bienvenida.html
│   └── recuperar-password.html
├── composer.json
└── ...

Testing

composer test

Changelog

Please see CHANGELOG.md for recent changes.

License

The MIT License (MIT). Please see LICENSE for more information.