utilise Localisation service as a singleton

This commit is contained in:
zebardy 2019-11-17 19:25:56 +00:00
parent aa1cc4ad88
commit 9f277f51b3
7 changed files with 23 additions and 10 deletions

View File

@ -74,11 +74,11 @@ $appContainer = new \Slim\Container([
]); ]);
$app = new \Slim\App($appContainer); $app = new \Slim\App($appContainer);
$fp = fopen('/www/data/sql.log', 'a'); #$fp = fopen('/www/data/sql.log', 'a');
fwrite($fp, "!!!Starting up loading app\n"); #fwrite($fp, "!!!Starting up loading app\n");
fwrite($fp, "!!!".print_r(ini_get_all(),True)."\n"); #fwrite($fp, "!!!".print_r(ini_get_all(),True)."\n");
#fwrite($fp, "!!!".print_r(opcache_get_status(),True)."\n"); #fwrite($fp, "!!!".print_r(opcache_get_status(),True)."\n");
fclose($fp); #fclose($fp);
phpinfo(); phpinfo();

View File

@ -13,7 +13,7 @@ class BaseController
$databaseService = DatabaseService::getInstance(); $databaseService = DatabaseService::getInstance();
$this->Database = $databaseService->GetDbConnection(); $this->Database = $databaseService->GetDbConnection();
$localizationService = new LocalizationService(GROCY_CULTURE); $localizationService = LocalizationService::getInstance(GROCY_CULTURE);
$this->LocalizationService = $localizationService; $this->LocalizationService = $localizationService;
$applicationService = ApplicationService::getInstance(); $applicationService = ApplicationService::getInstance();

View File

@ -11,7 +11,7 @@ class BaseService
$this->DatabaseService = DatabaseService::getInstance(); $this->DatabaseService = DatabaseService::getInstance();
$this->Database = $this->DatabaseService->GetDbConnection(); $this->Database = $this->DatabaseService->GetDbConnection();
$localizationService = new LocalizationService(GROCY_CULTURE); $localizationService = LocalizationService::getInstance(GROCY_CULTURE);
$this->LocalizationService = $localizationService; $this->LocalizationService = $localizationService;
} }

View File

@ -9,6 +9,9 @@ use \Gettext\Translator;
class LocalizationService class LocalizationService
{ {
private static $instanceMap = array();
public function __construct(string $culture) public function __construct(string $culture)
{ {
$this->Culture = $culture; $this->Culture = $culture;
@ -18,6 +21,16 @@ class LocalizationService
$this->LoadLocalizations($culture); $this->LoadLocalizations($culture);
} }
public static function getInstance(string $culture)
{
if (!in_array($culture, self::$instanceMap))
{
self::$instanceMap[$culture] = new self($culture);
}
return self::$instanceMap[$culture];
}
protected $DatabaseService; protected $DatabaseService;
protected $Database; protected $Database;
protected $Pot; protected $Pot;