Download the PHP package shedeza/sybase-orm without Composer
On this page you can find all versions of the php package shedeza/sybase-orm. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download shedeza/sybase-orm
More information about shedeza/sybase-orm
Files in shedeza/sybase-orm
Package sybase-orm
Short Description Pure PHP ORM for Sybase ASE — framework-agnostic
License MIT
Informations about the package sybase-orm
Sybase ORM
ORM puro en PHP para Sybase ASE, independiente de framework. Soporta mapeo de entidades con atributos PHP 8.1, consultas OQL, QueryBuilder, relaciones, herencia, caché de dos niveles, migraciones y más.
Estado: Este proyecto es estable y apto para uso en producción. Reporta cualquier problema en Issues.
Características
- Mapeo de entidades con atributos nativos de PHP 8.1 (sin XML ni YAML)
- Patrón Data Mapper con Unit of Work e Identity Map
- Lenguaje de consultas OQL y QueryBuilder fluido
- Relaciones ManyToOne, OneToMany, OneToOne, ManyToMany con lazy/eager loading
- Herencia de entidades (TPH, TPT, TPC)
- Caché de dos niveles (memoria + Redis)
- Sistema de migraciones integrado
- Soft delete declarativo
- Hooks de ciclo de vida (PrePersist, PostPersist, PreUpdate, etc.)
- Value Objects embebibles
- Conexiones múltiples con EntityManagerRegistry
- Soporte para conexiones de solo lectura
Requisitos del sistema
- PHP 8.1 o superior
- Extensión
ext-pdo_dblib - Servidor Sybase ASE
Instalación
Configuración rápida
Configuración por array
Configuración por URL DSN
Los caracteres especiales en la contraseña deben codificarse con URL encoding (por ejemplo, p@ss → p%40ss).
Uso básico
Persistir una entidad
Buscar por ID
Consultar con OQL
QueryBuilder
Transacciones
Para manejo manual de transacciones:
Eliminar una entidad
Mapeo de entidades
Atributos PHP principales
| Atributo | Destino | Descripción |
|---|---|---|
#[Entity] |
Clase | Marca una clase como entidad mapeada. Parámetros: table, schema, repositoryClass, connection |
#[Id] |
Propiedad | Marca la propiedad como clave primaria |
#[Column] |
Propiedad | Mapea una propiedad a una columna. Parámetros: name, type, nullable, length, precision, scale |
#[GeneratedValue] |
Propiedad | Indica que el valor es generado por la base de datos. Parámetro: strategy |
#[ManyToOne] |
Propiedad | Relación muchos-a-uno. Parámetros: targetEntity, inversedBy, cascade, fetch |
#[OneToMany] |
Propiedad | Relación uno-a-muchos. Parámetros: targetEntity, mappedBy, cascade, fetch, orphanRemoval |
#[SoftDelete] |
Clase | Activa eliminación lógica. Parámetro: column (por defecto deleted_at) |
#[HasLifecycleHooks] |
Clase | Activa hooks de ciclo de vida en la entidad |
Para la lista completa de atributos (OneToOne, ManyToMany, Embedded, herencia, hooks), consulte el manual de mapeo de entidades.
Relaciones
El ORM soporta relaciones #[ManyToOne], #[OneToMany], #[OneToOne] y #[ManyToMany] con lazy loading automático mediante proxies y eager loading vía QueryBuilder::with().
Para documentación detallada de relaciones, consulte el manual de relaciones.
Conexiones múltiples
Use EntityManagerRegistry para gestionar conexiones a múltiples bases de datos:
Opciones de configuración
| Opción | Tipo | Valor por defecto | Descripción |
|---|---|---|---|
host |
string |
'localhost' |
Host del servidor Sybase ASE |
port |
int |
5000 |
Puerto de conexión |
dbname |
string |
(requerido) | Nombre de la base de datos |
username |
string |
'' |
Usuario de conexión |
password |
string |
'' |
Contraseña de conexión |
charset |
string |
'UTF-8' |
Charset de la conexión |
persistent |
bool |
false |
Usar conexiones persistentes |
charset_conversion |
bool |
false |
Activar conversión automática UTF-8 ↔ ISO-8859-1 |
read_only |
bool |
false |
Modo solo lectura (previene escrituras) |
entity_directories |
string[] |
[] |
Directorios donde buscar entidades |
entity_classes |
string[] |
[] |
Clases de entidad explícitas |
proxy_directory |
string |
sys_get_temp_dir() . '/sybase-orm-proxies' |
Directorio para proxies generados |
metadata_cache_dir |
string\|null |
null |
Directorio de caché de metadatos |
Documentación completa
- Documentación completa — Punto de entrada central a toda la documentación
- Manual de usuario — Guía detallada de cada módulo del ORM
- Manual de operación — Despliegue, optimización y troubleshooting
- Manual técnico — Arquitectura interna, patrones y extensibilidad
Contribuir
Las contribuciones son bienvenidas. Antes de enviar un PR, consulta la guía de contribución para conocer el flujo de trabajo, estándares de código y convenciones del proyecto.
Licencia
Este proyecto está licenciado bajo la Licencia MIT.