Your IP : 216.73.216.240


Current Path : /home/juvelize/saulnois/libraries/regularlabs/src/
Upload File :
Current File : /home/juvelize/saulnois/libraries/regularlabs/src/Runtime.php

<?php

/**
 * @package         Regular Labs Library
 * @version         26.5.22170
 * 
 * @author          Peter van Westen <info@regularlabs.com>
 * @link            https://regularlabs.com
 * @copyright       Copyright © 2026 Regular Labs All Rights Reserved
 * @license         GNU General Public License version 2 or later
 */
namespace RegularLabs\Library;

defined('_JEXEC') or die;
use Joomla\CMS\Application\CMSApplicationInterface as JCMSApplicationInterface;
use Joomla\CMS\Cache\CacheControllerFactoryInterface as JCacheControllerFactoryInterface;
use Joomla\CMS\Factory as JFactory;
use Joomla\CMS\User\UserFactoryInterface;
use Joomla\DI\Container;
class Runtime
{
    public static function getApplication(): JCMSApplicationInterface
    {
        return JFactory::getApplication();
    }
    public static function getCacheControllerFactory(): JCacheControllerFactoryInterface
    {
        return self::getContainer()->get(JCacheControllerFactoryInterface::class);
    }
    public static function getConfig(string $key, mixed $default = null): mixed
    {
        return self::getApplication()->get($key, $default);
    }
    public static function getContainer(): Container
    {
        return JFactory::getContainer();
    }
    public static function getSiteApplication(): JCMSApplicationInterface
    {
        return self::getContainer()->get('Joomla\CMS\Application\SiteApplication');
    }
    public static function getUserFactory(): UserFactoryInterface
    {
        return self::getContainer()->get(UserFactoryInterface::class);
    }
}