Innomatic features Inversion of Control through a dependency injection container in \Innomatic\Core\InnomaticContainer.
The container is also responsible for bootstrapping Innomatic, tenants, and other core operations.
// InnomaticContainer is a singleton as defined in \Innomatic\Util\Singleton $container = \Innomatic\Core\InnomaticContainer::instance('\Innomatic\Core\InnomaticContainer'); // Get current tenant $tenant = $container->getCurrentTenant(); // Get current tenant user $tenant = $container->getCurrentUser(); // Get root database $rootDataAccess = $container->getDataAccess();