Fácil modelagem em PHP

Recentemente, tive um projeto onde eu precisava fazer algumas cordas / dados básicos fusão (ou seja, de templates) que foi além do PHP cozido-in funções ( sprintf, str_replace, preg_replace, etc.). Embora já existam bibliotecas de modelos fantásticas disponíveis , minhas necessidades eram mínimas e eu queria evitar adicionar um componente maior à base de código, mas ainda assim me deixaria ser DRY.

Depois de alguma pesquisa de desempenho de substituição de cordas , decidi que str_replacedeveria fazer o trabalho pesado … e aqui está o que eu vim:

https://gist.github.com/4372785

Os comentários na essência têm um exemplo mais complexo que mostra as limitações das funções integradas do PHP. Aqui está um exemplo mais simples, apenas para demonstrar o conceito:

$tempData = array(
'name' => 'Joe Smith',
'occupation' => 'Speech Therapist'
);
echo renderTemplate
('Hello, my name is %name% and I am a %occupation%.');

// prints: Hello my name is Joe Smith and I am a Speech Therapist.

Novamente, eu não gostaria de escrever um aplicativo completo com este sistema, mas para sites ou pequenos aplicativos que precisam de algumas habilidades de modelagem sob demanda, é uma boa solução de uma função.