Zastępowanie zmiennych w ciągu

Pracuję nad wielojęzyczną stroną w PHP, aw moich językach pliki często zawierają ciągi zawierające wiele zmiennych, które zostaną później wypełnione w celu uzupełnienia zdań.

Obecnie umieszczam{VAR_NAME} w ciągu i ręcznie zastępując każde wystąpienie jego pasującą wartością, gdy jest używana.

Więc w zasadzie:

{X} created a thread on {Y}

staje się :

Dany created a thread on Stack Overflow

Już o tym myślałemsprintf ale uważam to za niewygodne, ponieważ zależy to od kolejności zmiennych, które mogą zmieniać się z języka na inny.

I już sprawdziłemJak zastąpić zmienną w łańcuchu wartością w php? i na razie zasadniczo używam tej metody.

Ale interesuje mnie, czy w PHP istnieje wbudowany (a może nie) wygodny sposób, biorąc pod uwagę, że w poprzednim przykładzie mam już zmienne o nazwach dokładnie takich jak X i Y, bardziej jak $ za zmienną zmienną .

Więc zamiast robić str_replace na łańcuchu, mógłbym wywołać taką funkcję:

$X = 'Dany';
$Y = 'Stack Overflow';
$lang['example'] = '{X} created a thread on {Y}';

echo parse($lang['example']);

wydrukowałbym również:

Dany created a thread on Stack Overflow

Dzięki!

Edytować

Ciągi służą jako szablony i mogą być używane wielokrotnie z różnymi wejściami.

Więc w zasadzie to robię"{$X} ... {$Y}" nie wykona sztuczki, ponieważ stracę szablon, a łańcuch zostanie zainicjowany z początkowymi wartościami$X i$Y które nie są jeszcze określone.

questionAnswers(12)

yourAnswerToTheQuestion