元清 / interpolate
该包已被弃用且不再维护。未建议替代包。
PHP中的简单字符串插值。
v1.2.1
2014-07-17 12:35 UTC
Requires
- php: >=5.3
This package is not auto-updated.
Last update: 2020-01-20 03:23:58 UTC
README
一个用于将数组中的值插入到模板字符串中的小型PHP包。
可以将其视为Mustache的轻量级替代品。
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!'
使用方法
-
标签用双大括号包围。
-
直接替换;没有条件块、部分等。
-
标签可以引用多维数组中的嵌套值(如上例所示)。
-
要插入的值可以是标量、实现
__toString()
的对象或返回字符串的回调函数$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!'
注意,回调函数的第一个参数是
$data
数组。 -
如果找不到标签的值,则将标签替换为空字符串。
本README中的两个示例可以在examples.php文件中找到。
要求
Interpolate.php至少需要PHP 5.3或HHVM。
安装
使用Composer安装
-
安装Composer。
-
$ composer require yuanqing/interpolate ~1.2
-
在PHP中引入Composer自动加载器
require_once __DIR__ . '/vendor/autoload.php';
手动安装
-
克隆此仓库
$ git clone https://github.com/yuanqing/interpolate
或者直接下载zip文件。
-
在PHP中引入Interpolate.php
require_once __DIR__ . '/src/Interpolate.php';
测试
您需要PHPUnit来运行测试
$ git clone https://github.com/yuanqing/interpolate
$ cd interpolate
$ phpunit
许可
MIT许可