Skip to content

9.8.5 - Cambios en firma de métodos run de componentes. Nuevo pipe plain.

Choose a tag to compare

@osumionline osumionline released this 26 Sep 21:59
· 117 commits to main since this release
Immutable release. Only release title and notes can be modified.

Osumi Framework 9.8.5

Esta versión incorpora mejoras en la ejecución de componentes y amplía las posibilidades de las plantillas con un nuevo pipe.

Novedades

  • Nuevas firmas para run() en componentes

    • Los componentes ahora pueden definir run() sin parámetros.
    • Se admiten explícitamente estas tres formas:
      • run(): void
      • run(ORequest $req): void
      • run(MyDTO $dto): void, donde MyDTO extiende ODTO.
    • Las firmas no compatibles se detectan y rechazan automáticamente.
  • DTO independientes del namespace

    • La detección de DTO ya no depende de que estén ubicados en un namespace concreto.
    • Cualquier clase que extienda ODTO puede utilizarse directamente como parámetro de run(), independientemente de dónde esté ubicada dentro de la aplicación.
  • Nuevo pipe plain

    • Se añade el pipe plain para utilizar cadenas de texto sin aplicar urlencode().
    • La salida se genera de forma segura para JSON, escapando correctamente comillas y otros caracteres especiales.
    • Los caracteres Unicode y las barras se conservan sin escapar.
    • Los valores null se mantienen como null.

Compatibilidad

Los componentes existentes que utilizan run(ORequest $req) o DTO que extienden ODTO continúan funcionando sin cambios.

El pipe string mantiene su comportamiento actual basado en urlencode(), por lo que plain se incorpora como una nueva alternativa sin modificar el comportamiento existente.

Documentación

La documentación del framework se ha actualizado en castellano, inglés y euskera para reflejar:

  • Las nuevas firmas admitidas por run().
  • La detección de DTO mediante herencia de ODTO.
  • El nuevo pipe plain.
  • La nueva guía de migración de 9.8.4 a 9.8.5.
  • La documentación específica para LLM y llms.txt.