Supondo que eu possua a variável:
$nome = "John Due";
Quando eu faço:
$mensagem = "Seja bem-vindo, {$nome}";
Terei o resultado "Seja bem-vindo, John Due"
, isso porque defini a minha string com interpolação diretamente no código. Entretanto, o que preciso fazer é armazenar essa string template no banco de dados e continuar obtendo o mesmo resultado. Se hoje eu armazeno a string acima em uma coluna do banco e a exibo, o resultado que tenho é "Seja bem-vindo, {$nome}"
, como se a interpolação não ocorresse.
Há uma forma de forçar a interpolação das strings quando o conteúdo vem do banco de dados?
Uma forma equivalente, lendo a string template da entrada do usuário ao invés de lê-la do banco de dados pode ser vista no ideone, mostrando que a interpolação da string não ocorre, mesmo utilizando {$nome}
no seu conteúdo.