develia / symfony
Symfony utility library
0.6.0
2026-08-07 07:40 UTC
Requires
- php: >=8.1
- ext-simplexml: *
- develia/commons: *
- doctrine/doctrine-bundle: ^2.12 || ^3.0
- doctrine/orm: ^2.19 || ^3.0
- symfony/cache: *
- symfony/config: *
- symfony/dependency-injection: *
- symfony/http-foundation: *
- symfony/http-kernel: *
Requires (Dev)
- doctrine/annotations: *
- doctrine/collections: *
- doctrine/dbal: *
- doctrine/persistence: *
- openai-php/client: *
- phpunit/phpunit: *
- symfony/console: *
- symfony/doctrine-bridge: *
- symfony/event-dispatcher: *
- symfony/form: *
- symfony/framework-bundle: *
- symfony/http-client: *
- symfony/lock: *
- symfony/process: *
- symfony/property-info: *
- symfony/routing: *
- symfony/security-core: *
- symfony/security-http: *
- symfony/serializer: *
- symfony/type-info: *
- symfony/yaml: *
Suggests
- doctrine/doctrine-bundle: Para integración con Doctrine en Symfony
- doctrine/orm: Para funcionalidades de base de datos
- mark-gerarts/auto-mapper-plus: ^1.4.1
- openai-php/client: Para utilizar OpenAiService
- symfony/cache: Para DatabaseSettingsManager
- symfony/console: Para utilizar los comandos incluidos
- symfony/event-dispatcher: Para suscripción a eventos del kernel
- symfony/form: Para utilizar BaseCrudController
- symfony/framework-bundle: Para integración completa con Symfony
- symfony/http-client: Para utilizar YouTrackService y SlackNotifier
- symfony/lock: Para gestión de bloqueos
- symfony/process: Para ejecución de comandos externos
- symfony/property-info: Para utilizar JsonSchemaGenerator
- symfony/routing: Para el enrutamiento de controladores
- symfony/security-core: Para StaticApiKeyAuthenticator
- symfony/security-http: Para StaticApiKeyAuthenticator
- symfony/serializer: Para serialización de respuestas API
- symfony/type-info: Para utilizar JsonSchemaGenerator
- symfony/yaml: Para cargar configuraciones en formato YAML
This package is auto-updated.
Last update: 2026-08-07 07:57:57 UTC
README
Este paquete proporciona una serie de utilidades y servicios para acelerar el desarrollo de aplicaciones Symfony en el ecosistema Develia.
Características principales
Controladores Base:
ApiController: Clase base para controladores de API.RestController: Implementación básica para controladores REST con métodosGET,POST,PUTyDELETEmapeados automáticamente.BaseCrudController: Facilitador para operaciones CRUD estándar.
Servicios de Gestión:
SettingsManager: Interfaz y servicio para gestionar configuraciones dinámicas (con soporte para base de datos y caché).DatabaseLogger: Logger compatible con PSR-3 que persiste los registros en la base de datos (tablaslog_entryylog_entry_meta).OpenAiService: Integración simplificada con la API de OpenAI.JsonSchemaGenerator: Genera JSON Schema a partir de clases PHP (para Structured Outputs de OpenAI).YouTrackService: Cliente de la API REST de YouTrack (incidencias, comentarios, usuarios y roles). Configurable con las variables de entornoYOUTRACK_BASE_URL,YOUTRACK_TOKENyYOUTRACK_PROJECT_ID. Al crear usuarios la contraseña es obligatoria (YouTrack la exige) y, en YouTrack Cloud,deleteUser()no está disponible: usarbanUser().getIssues()ygetUsers()aceptan una consulta opcional para filtrar en el servidor (reporter: <login>, login o nombre del usuario…). Los roles se gestionan en Hub (getRoles(),findRole(),getUserRoles(),assignUserRole()), que identifica a los usuarios por suringIdy sólo permite conceder roles sobre proyectos registrados en Hub; para el resto, usar el proyecto global (HUB_GLOBAL_PROJECT_ID, valor por defecto).SlackNotifier: Envía notificaciones a Slack mediante un Incoming Webhook. Configurable con la variable de entornoSLACK_WEBHOOK_URL.TransactionManager: Utilidad para envolver ejecuciones en transacciones de base de datos.LockManager: Gestión de bloqueos (locks) para evitar condiciones de carrera.
Seguridad:
StaticApiKeyAuthenticator: Autenticador sencillo mediante una clave API estática enviada en las cabeceras.
Extensiones Twig:
DateExtension: Filtros adicionales para el manejo de fechas en plantillas.
Utilidades:
- Helpers para manejo de anotaciones, rutas y respuestas XML.
Requisitos
- PHP 8.1 o superior.
- Symfony 5.4 / 6.0 o superior.
- Dependencia de
develia/commons.
Instalación
Instala el paquete vía Composer:
composer require develia/symfony
Asegúrate de registrar el bundle en tu archivo config/bundles.php si no se hace automáticamente:
return [
// ...
Develia\Symfony\DeveliaBundle::class => ['all' => true],
];
Configuración
Puedes configurar los servicios en tus archivos de configuración de Symfony (ej. config/packages/develia.yaml). Consulta los servicios disponibles en el contenedor de servicios de Symfony.
Licencia
Propiedad de Antonio Gil Espinosa. Todos los derechos reservados.