Метод has
Метод has класса Lang проверяет наличие ключа перевода
в текущем языковом файле. Он полезен для условного отображения
переводов или проверки существования строки перед её использованием.
Метод принимает один параметр - строку с ключом перевода.
Синтаксис
<?php
Lang::has($key);
?>
Пример
Давайте проверим наличие ключа 'messages.welcome'
в файле локализации:
<?php
use Illuminate\Support\Facades\Lang;
$key = 'messages.welcome';
$res = Lang::has($key);
var_dump($res);
?>
Результат выполнения кода (если ключ существует):
"bool(true)"
Пример
Проверим наличие несуществующего ключа 'messages.error':
<?php
use Illuminate\Support\Facades\Lang;
$key = 'messages.error';
$res = Lang::has($key);
var_dump($res);
?>
Результат выполнения кода:
"bool(false)"
Пример
Используем метод has для условного вывода перевода
в контроллере:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Lang;
class HomeController extends Controller
{
public function index()
{
$key = 'messages.greeting';
if (Lang::has($key)) {
$text = Lang::get($key);
} else {
$text = 'Default greeting';
}
return view('home', ['text' => $text]);
}
}
?>
Результат выполнения кода (если ключ существует):
"Hello, welcome to our site!"
Пример
Проверка ключа с использованием вложенных массивов в языковом файле:
<?php
return [
'user' => [
'profile' => 'User profile',
'settings' => 'User settings',
],
];
?>
<?php
use Illuminate\Support\Facades\Lang;
$key = 'messages.user.profile';
$res = Lang::has($key);
var_dump($res);
?>
Результат выполнения кода:
"bool(true)"
Смотрите также
-
метод
get,
который возвращает значение перевода по ключу -
метод
hasForLocale,
который проверяет наличие ключа для указанной локали -
функция
trans,
которая упрощает получение переводов в коде -
класс
App,
который предоставляет методы для работы с локализацией приложения