<?php /** * Interpolate.php - Simple string interpolation in PHP. * * @author Lim Yuan Qing <*****@*****.**> * @license MIT * @link https://github.com/yuanqing/interpolate */ error_reporting(E_ALL); ini_set('display_errors', 1); require_once __DIR__ . '/src/Interpolate.php'; use yuanqing\Interpolate\Interpolate; $i = new Interpolate(); $tmpl = '{{ foo.bar }}, {{ foo.baz }}!'; $data = array('foo' => array('bar' => 'Hello', 'baz' => 'World')); $i->render($tmpl, $data); #=> 'Hello, World!' $i = new Interpolate(); $tmpl = '{{ baz }}'; $data = array('foo' => 'Hello', 'bar' => 'World', 'baz' => function ($data) { return sprintf('%s, %s!', $data['foo'], $data['bar']); }); $i->render($tmpl, $data); #=> 'Hello, World!'
public function testNestedKeys() { $i = new Interpolate(); $data = array('foo' => array('bar baz' => array('qux' => 'quux'))); $this->assertEquals($i->render('{{ foo.bar baz.qux }}', $data), 'quux'); $this->assertEquals($i->render('{{foo . bar baz . qux}}', $data), 'quux'); $this->assertEquals($i->render('{{ foo. bar baz .qux }}', $data), 'quux'); }