Порой в коде встречаю такой объёмный пользовательский текст:
Код
public function attributeHints()
{
return [
'internalMarkup' => 'Если наценка уже заложена в цену товара - будет использоваться для рассчёта партнерской награды',
'refundChat' => '
Добавьте бота <b><a target="_blank" href="https://t.me/' . \Yii::$app->params['telegram.botName'] . '">@' . \Yii::$app->params['telegram.botName'] . '</a> </b> в чат/канал магазина. <br>
Чтобы узнать ID чата: пригласите <b><a target="_blank" href="https://t.me/myidbot"> @myidbot</a></b> и вызовите команду <b><span class="text-danger">/getid</span></b>. <br>
Чтобы узнать ID канала: перешлите <b><a target="_blank" href="https://t.me/myidbot"> @myidbot</a></b> любой пост из канала. <br>
'
];
}
$message[] = Emoji::SHOPPING_BAGS . Html::a("Заказ №{$order->getId()}", $orderUrl);
$message[] = Emoji::SPEECH_BALLOON . "Комментарий: $cancel->comment";
$message[] = Emoji::C_CREDIT_CARD . "Счёт: $cancel->bill";
$message[] = Emoji::C_MONEY_WITH_WINGS . "Сумма: <b>{$cancel->getPrettySum()}</b>";
$this->telegramMessage->sendMessage(\Yii::$app->params['telegram.refundChat.id'], implode(PHP_EOL, $message));
Код (наглядные скриншоты из IDE)
Думаю, что он ухудшает читаемость кода.
Хочется текст объёмный вынести куда-то "снаружу". Например: хранить в отдельном файле, назначить идентификатор и подключать таким образом:
ContentStorage::get('PROVIDER_CANCEL_ERROR')
Полагаю, что с данной проблемой уже сталкивались и есть для неё похожее решение.
Используется фреймворк: Yii2. В нём есть средства интернационализации, и используя их можно вставлять идентификатор текста, вместо самого текста:
Yii:t('PROVIDER_CANCEL_ERROR'), но всё же он не для таких целей предназначен.