автоматическая замена переменной в строке на laravel - PullRequest
0 голосов
/ 14 апреля 2020

Существует какой-либо четкий метод замены строк, например,

echo some_clean_mehod('Hi name: .you have wallet: dollar in your wallet. your register date is created_at:',$user);

и шоу

Hi John. you have 100 dollar in your wallet. your register date is 2020-01-10

Я знаю, что есть много способов в php, но я хочу знать есть какой-нибудь встроенный laravel метод?

Ответы [ 2 ]

1 голос
/ 14 апреля 2020

Я думаю, что-то вроде этого (в:

'msg' => 'Hi :name .you have :wallet dollar in your wallet. your register date is :created_at'

И чем:

echo Lang::get('messages.msg', ['name' => $userName, 'wallet ' => $amount, 'created_at' => $createdAt]);

Вы также, вероятно, могли бы сделать это так (не проверено):

$user = [
'name' => $userName,
'wallet' => $amount,
'created_at' => $createdAt
];

И:

echo Lang::get('messages.msg', $user);

Кроме того, что бы вы ни передавали, это не проблема, вы можете передать полного пользователя и использовать только те файлы, которые вам нужны, но будьте осторожны с тем, что определено в переводе. также прошел.

Подробнее здесь: https://laravel.com/docs/5.0/localization

0 голосов
/ 14 апреля 2020

Вы можете написать свои собственные:

 $user = [
    'name:' => 'John',
    'wallet:' => 100,
    'created_at:' => '2020-01-10'
];


function some_clean_mehod($str,$replace_vars){
    $keys = array_keys($replace_vars);
    $values = array_values($replace_vars);
    return str_replace($keys, $values, $str);
}

echo some_clean_mehod('Hi name: .you have wallet: dollar in your wallet. your register date is created_at:',$user);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...