Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Archtechx/tenencia


Archtechx/tenencia


Archtechx/Tenancy es un paquete integral y flexible de múltiples tenientes diseñado para aplicaciones de Laravel. Permite a los desarrolladores implementar múltiples tenientes sin requerir cambios de código significativos en la aplicación existente, proporcionando una forma automática y perfecta de administrar múltiples inquilinos dentro de una sola instalación de Laravel.

El paquete funciona con un enfoque automático de múltiples tenientes, lo que significa que se encarga de la configuración específica del inquilino, como las conexiones de la base de datos, los cachés, los sistemas de archivos, las colas y las tiendas Redis detrás de escena. Esta automatización permite a los desarrolladores convertir una aplicación de inquilino único a una plataforma SaaS de múltiples inquilinos con una intervención mínima en la base de código.

Las características clave de Archtechx/Tenancy incluyen:

- Identificación automática del inquilino: identifica a los inquilinos en función de los nombres de host, incluido el soporte para dominios de segundo nivel. Esto permite el enrutamiento y el cambio de contexto en función del dominio del inquilino sin configuración manual.

- No se requieren cambios en el código: la administración de arrendamiento no requiere que modifique sus modelos con rasgos específicos o reemplace las clases de Core Laravel como caché o almacenamiento con versiones con conocimiento de arrendamiento. Esto da como resultado una integración limpia que respeta las convenciones de Laravel.

-Admite modelos de tenencia de una sola y múltiples databasas: puede separar los datos de los inquilinos por bases de datos o usar una base de datos compartida con modelos con escoltas de inquilinos. Para el enfoque multidatabase, el paquete ofrece rasgos para alcanzar los modelos a la base de datos de inquilinos apropiada automáticamente.

- Arquitectura basada en eventos: el paquete se basa en eventos que se disparan durante las acciones del ciclo de vida del inquilino, como la creación, la inicialización y la destrucción. Este diseño permite a los desarrolladores conectarse a estos eventos y personalizar el comportamiento según sea necesario, creando un sistema altamente extensible.

- Integración con otros paquetes de Laravel: Archtechx/Tenancy se integra suavemente con otros paquetes de ecosistemas de Laravel, incluido Laravel Nova, lo que facilita la gestión de recursos específicos del inquilino de herramientas familiares.

- Testability: está diseñado teniendo en cuenta la prueba. El paquete permite una prueba exhaustiva de los flujos de registro de inquilinos, el cambio de contexto de los inquilinos y las operaciones específicas del inquilino, asegurando configuraciones de tenencia múltiple estable y confiable.

- Compartir el usuario y los recursos: el paquete admite escenarios en los que los usuarios pueden pertenecer a múltiples inquilinos. Tiene capacidades de sincronización de recursos que permiten la sincronización de datos en las bases de datos de los inquilinos cuando sea necesario.

- Sobre la personaje del usuario: incluye características para la suplantación de usuarios, lo que permite que los usuarios administrativos se hacen pasar por usuarios de inquilinos en todo el sistema para depurar o soportar fines de soporte.

- Compatibilidad de la base de datos: funciona con múltiples sistemas de bases de datos, incluidos MySQL, PostgreSQL, SQLite y admite esquemas PostgreSQL, ofreciendo flexibilidad en cómo se separan los datos del inquilino.

- Modos manuales y automáticos: mientras el modo predeterminado cambia automáticamente el contexto, el paquete también admite la administración manual de arrendamiento, donde los desarrolladores pueden especificar contextos de inquilinos explícitamente si prefieren controlar las conexiones de la base de datos.

-Empaquetado con características: el paquete se considera el más rico en características entre los paquetes de tenencia de Laravel, proporcionando una amplia gama de herramientas fuera de la caja para cubrir las necesidades comunes de SAA, como la protección del dominio, la gestión del ciclo de vida del inquilino y el aislamiento de recursos.

El paquete es muy apreciado en la comunidad de Laravel, manteniendo más de 4,000 estrellas en GitHub y utilizada en muchas aplicaciones de producción en varias plataformas de alojamiento. Está bajo desarrollo activo, con lanzamientos regulares y una base de contribuyentes acogedor.

La comparación con otros paquetes de tenencia de Laravel como Spatie/Laravel-Multitenancy muestra que Archtechx/Tenancy ofrece capacidades de configuración automáticas más amplias y una arquitectura más flexible basada en eventos. Esto lo hace adecuado para proyectos que esperan requisitos de arrendamiento complejos o aquellos que desean una interrupción mínima de las estructuras de aplicación existentes.

La instalación generalmente implica registrar el paquete a través del compositor, publicar archivos de configuración y configurar rutas y middleware conscientes de los inquilinos. Después de la configuración, los inquilinos se pueden crear programáticamente o mediante una interfaz administrativa, y el paquete administra el entorno del inquilino automáticamente durante cada solicitud.

El paquete también ofrece una API y guías bien documentadas, junto con el apoyo comunitario a través de GitHub y otros canales, lo que lo hace accesible tanto para los recién llegados como para los desarrolladores experimentados de Laravel.

En resumen, Archtechx/Tenancy es una solución múltiple de manejo múltiple potente, flexible y altamente automatizada diseñada para ayudar a los desarrolladores de Laravel a construir aplicaciones SaaS escalables con modificaciones mínimas de código y máxima extensibilidad, que respalda escenarios de alquiler simples y avanzados con facilidad. Su modelo basado en eventos, soporte de múltiples databás y integración de Laravel profunda lo distinguen como una opción líder para proyectos de Laravel de múltiples inquilinos.