codigo actual del servidor, con avances de joan
This commit is contained in:
68
app/Utility/TranslationUtility.php
Normal file
68
app/Utility/TranslationUtility.php
Normal file
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace App\Utility;
|
||||
|
||||
use App\Models\Translation;
|
||||
|
||||
class TranslationUtility
|
||||
{
|
||||
// Hold the class instance.
|
||||
private static $instance = null;
|
||||
private $translations;
|
||||
|
||||
// The db connection is established in the private constructor.
|
||||
private function __construct()
|
||||
{
|
||||
$data = Translation::all();
|
||||
$this->translations = collect($data->toArray())->all();
|
||||
//$this->translations = collect($data->toArray());
|
||||
}
|
||||
|
||||
public static function getInstance()
|
||||
{
|
||||
if (!self::$instance) {
|
||||
self::$instance = new TranslationUtility();
|
||||
}
|
||||
|
||||
return self::$instance;
|
||||
}
|
||||
|
||||
public static function reInstantiate()
|
||||
{
|
||||
self::$instance = new TranslationUtility();
|
||||
}
|
||||
|
||||
public function cached_translation_row($lang_key, $lang)
|
||||
{
|
||||
$row = [];
|
||||
if (empty($this->translations)) {
|
||||
return $row;
|
||||
}
|
||||
|
||||
|
||||
foreach ($this->translations as $item) {
|
||||
if ($item['lang_key'] == $lang_key && $item['lang'] == $lang) {
|
||||
$row = $item;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return $row;
|
||||
}
|
||||
|
||||
//The code below also works but it takes more time than the function written above
|
||||
//$this->translations = collect($data->toArray());
|
||||
/*public function cached_translation_row($lang_key, $lang)
|
||||
{
|
||||
$row = $this->translations->where('lang_key', $lang_key)->where('lang', $lang)->first();
|
||||
return $row != null ? $row : [];
|
||||
}*/
|
||||
|
||||
public function getAllTranslations()
|
||||
{
|
||||
return $this->translations;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user