1
This commit is contained in:
85
app/LangService.php
Normal file
85
app/LangService.php
Normal file
@ -0,0 +1,85 @@
|
||||
<?php
|
||||
|
||||
namespace app;
|
||||
|
||||
use enums\LangEnum;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
class LangService
|
||||
{
|
||||
|
||||
/**
|
||||
* @return string[]
|
||||
*/
|
||||
public static function getAllowLang(): array
|
||||
{
|
||||
return array_map(function ($item) {
|
||||
return $item->value;
|
||||
}, array_filter(LangEnum::cases(), function ($item) {
|
||||
return $item->is_open();
|
||||
}));
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public static function getLangCases(): array
|
||||
{
|
||||
return array_map(function ($item) {
|
||||
return [
|
||||
'value' => $item->value,
|
||||
'lang' => $item->lang(),
|
||||
'label' => $item->label()
|
||||
];
|
||||
}, array_filter(LangEnum::cases(), function ($item) {
|
||||
return $item->is_open();
|
||||
}));
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public static function getLabelCases(): array
|
||||
{
|
||||
return array_map(function ($item) {
|
||||
return [
|
||||
'value' => $item->value,
|
||||
'label' => $item->label()
|
||||
];
|
||||
}, array_filter(LangEnum::cases(), function ($item) {
|
||||
return $item->is_open();
|
||||
}));
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public static function getLangExtend(): array
|
||||
{
|
||||
$extend = [];
|
||||
foreach (array_filter(LangEnum::cases(), function ($item) {
|
||||
return $item->is_open();
|
||||
}) as $item) {
|
||||
$extend[$item->value] = $item->extend();
|
||||
}
|
||||
return $extend;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public static function getAcceptLang(): array
|
||||
{
|
||||
$extend = [];
|
||||
foreach (array_filter(LangEnum::cases(), function ($item) {
|
||||
return $item->is_open();
|
||||
}) as $item) {
|
||||
foreach ($item->getLangList() as $langListitem) {
|
||||
$extend[$langListitem] = $item->value;
|
||||
}
|
||||
}
|
||||
return $extend;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user