Хранение писем в БД

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
metsys
Сообщения: 10
Зарегистрирован: 2014.12.17, 17:33

Хранение писем в БД

Сообщение metsys »

День добрый.
Собственно стоит следующая задача. Необходимо сделать редактор писем, которые будут хранится в БД. Всё как бы понятно и просто. Но есть один момент, который никак не могу решить: как в тело письма вставлять нужные мне переменные.

Например письмо адресованно какому то пользователю:
Hello <?= $user->username ?> blablabla

Demon_id
Сообщения: 421
Зарегистрирован: 2011.10.29, 00:13

Re: Хранение писем в БД

Сообщение Demon_id »

Hello {username} blablabla
а в соседнем поле хранить в серии массив с этими данными. перед показом текста письма, произвести замены плейсхолдеров на данные из серии.

metsys
Сообщения: 10
Зарегистрирован: 2014.12.17, 17:33

Re: Хранение писем в БД

Сообщение metsys »

это надо делать через \yii\i18n\MessageFormatter ?

Я так понимаю, это выглядит примерно так:

Код: Выделить всё

$params = ['username' => $user->username];
SomeFormatterClass::format($mail, $params);
Если да, то подскажите пожалуйста. каким классом пользоватся для данного форматирования текста?

Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: Хранение писем в БД

Сообщение Onotole »

str_replace('{username}', Yii::$app->user->name, $model->attribute);

zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Хранение писем в БД

Сообщение zelenin »

есть хорошая функция strtr https://github.com/yiisoft/yii2/blob/ma ... u.php#L240

Ответить