mmt / jwf-laravel
Laravel persistence and integration adapter for mmt/jwf-core.
Requires
- php: ^8.3
- illuminate/database: ^11.0|^12.0|^13.0
- illuminate/encryption: ^11.0|^12.0|^13.0
- illuminate/filesystem: ^11.0|^12.0|^13.0
- illuminate/http: ^11.0|^12.0|^13.0
- illuminate/support: ^11.0|^12.0|^13.0
- illuminate/validation: ^11.0|^12.0|^13.0
- mmt/jwf-core: dev-main
Requires (Dev)
- orchestra/testbench: ^9.0|^10.0|^11.0
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^11.5|^12.5
This package is not auto-updated.
Last update: 2026-08-28 09:53:30 UTC
README
Adaptador Laravel para mmt/jwf-core. Proporciona persistencia relacional, administración de versiones, Validator, archivos privados y envíos transaccionales. No registra rutas ni decide las políticas de la aplicación host.
Instalación
Instala el paquete mediante Composer y ejecuta las migraciones. La configuración se puede publicar con el tag jwf-config.
La aplicación debe enlazar obligatoriamente Mmt\JwfLaravel\Contracts\JwfAuthorizer con una implementación propia. No existe un autorizador permisivo por defecto.
$this->app->bind(JwfAuthorizer::class, ApplicationJwfAuthorizer::class);
Uso
La facade delega en servicios inyectables:
$outcome = Jwf::validate($versionId, $formId, $request); $result = Jwf::submit($versionId, $formId, $request); $copy = Jwf::forms()->cloneVersion($versionId);
Una copia conserva el árbol, IDs lógicos, opciones, configuración y referencias exactas a perfiles; solo cambia la identidad/número de versión y nace como borrador.
Jwf::artifacts() permite obtener una respuesta de descarga, listar artefactos sin referencia y solicitar una eliminación explícita. El paquete nunca elimina archivos automáticamente al borrar envíos o definiciones.
Los inputs de archivo pueden declarar maxSizeKb, allowedMimeTypes y allowedExtensions en su configuración. Los límites del input solo pueden restringir los límites globales de config/jwf.php.
La aplicación host es responsable de autorización, exposición HTTP, retención, privacidad y anonimización.