rahpt/ci4-module-tenancy
Composer 安装命令:
composer require rahpt/ci4-module-tenancy
包简介
Multi-tenancy support for CodeIgniter 4 modules
README 文档
README
Suporte a Multi-Tenancy para módulos CodeIgniter 4. Permite isolar dados e configurações por cliente (tenant) de forma automática.
📋 Características
- ✅ Detecção Automática - Detecta o tenant via Subdomínio, Header HTTP ou Sessão
- ✅ Global Context - Acesso fácil ao tenant atual em qualquer lugar do app
- ✅ Filtro Nativo - Integração direta com filtros do CI4 para segurança
- ✅ Helper Functions - Funções
tenant()ehas_tenant() - ✅ Configurável - Fácil de estender e adaptar ao seu modelo de banco
🚀 Instalação
composer require rahpt/ci4-module-tenancy
📖 Uso Básico
1. Configuração
Publique o arquivo de configuração para app/Config/Tenancy.php:
<?php namespace Config; use Rahpt\Ci4ModuleTenancy\Config\Tenancy as BaseTenancy; class Tenancy extends BaseTenancy { public string $detectionMode = 'subdomain'; // 'subdomain', 'header' ou 'session' public string $detectionKey = '0'; // Índice do subdomínio public bool $requireTenant = true; // Bloqueia acesso sem tenant }
2. Ativar o Filtro
O pacote registra automaticamente o alias tenant. Adicione-o ao seu app/Config/Filters.php:
public array $globals = [ 'before' => [ 'tenant', // Ativa detecção em todas as rotas ], ];
3. Usando no Código
// Obter o ID do tenant atual $tenantId = tenant(); if (has_tenant()) { echo "Logado na empresa: " . $tenantId; } // Exemplo em um Model public function getItems() { return $this->where('tenant_id', tenant())->findAll(); }
🧪 Métodos de Detecção
Subdomínio
Se o app estiver em cliente1.meuapp.com, o tenant será cliente1.
Header HTTP
Útil para APIs. Envie o header X-Tenant-ID: cliente1.
Sessão
Útil se o tenant for escolhido após o login. Salve tenant_id na sessão.
🕒 Histórico de Versões
[1.1.0] - 2026-02-16
- Arquitetura: Refatoração do
TenantContextpara o namespace raiz do pacote. - Testes: Adição de suíte de testes unitários para validação de contexto.
- Padronização: Alinhamento com o ecossistema Rahpt v1.1.0.
[1.0.1] - 2026-02-15
- Versão inicial com detecção tripla (subdomain, header, session).
📄 Licença
MIT License
👏 Créditos
Desenvolvido por Rahpt
Versão: 1.1.0
Última Atualização: 2026-02-16
rahpt/ci4-module-tenancy 适用场景与选型建议
rahpt/ci4-module-tenancy 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 21 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 02 月 22 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「codeigniter」 「modules」 「multi-tenant」 「tenancy」 「codeigniter4」 「rahpt」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 rahpt/ci4-module-tenancy 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 rahpt/ci4-module-tenancy 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 rahpt/ci4-module-tenancy 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
This is Paymorrow module for OXID eShop.
The CodeIgniter Redis package
Analysis module for finding problematical shop data.
yii2 swiper slider
An interactive tour through the TYPO3 backend.
统计信息
- 总下载量: 21
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 30
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-02-22