Строковый ресурс в программировании laravel?

есть ли способ, которым вместо строк жесткого кодирования в лезвии вы используете что-то вроде строкового ресурса (или таблицы строк), поэтому, если вы измените строку, каждое лезвие будет изменено. Например, вместо того, чтобы копить код «продукт» в лезвии, я использую переменную с именем «string1», поэтому, если однажды я изменю значение string1 на «service», это повлияет на каждое лезвие, и все в порядке.


person M.Shahrokhi    schedule 18.07.2016    source источник
comment
используйте строку lang/localization или создайте файл внутри папки config и извлеките его с помощью Config::get('file.array_item');   -  person Calin Blaga    schedule 18.07.2016


Ответы (4)


возможно, используйте локализацию с языковыми файлами, чтобы вы могли использовать

{{ trans('string1') }}

в виде лезвия. дополнительная информация: https://laravel.com/docs/5.0/localization

и эти 2 функции

trans
Translate a given language line. Alias of Lang::get.

$value = trans('validation.required'):


trans_choice
Translate a given language line with inflection. Alias of Lang::choice.

$value = trans_choice('foo.bar', $count);
person Alex Meyer    schedule 18.07.2016

Для этого вы можете (неправильно) использовать систему перевода, например эту.

person Sitethief    schedule 18.07.2016

Я новичок в laravel, но у меня есть идея.

создайте myString.php, который содержит ваши переменные

пример:

<?php
 $string1 = "products";
?>

в ваших файлах

<?php
 inlude_once("myString.php");
 {{ $string1 }}
?>

Я надеюсь, что это помогло вам найти лучшее решение.

удачи.

person Sahith Vibudhi    schedule 18.07.2016

Начиная с Laravel 5.4 вы можете использовать двойное подчеркивание:

{{ __('Register') }}

Что хорошо в этом, так это то, что вам не нужно ничего делать, чтобы вывести (в данном случае) «Регистрация».

Вы можете изменить отображаемое значение либо в соответствующем файле messages.php, либо создав файл json, как описано в документы.

person Laurel    schedule 05.02.2020