元清/interpolate

该包已被弃用且不再维护。未建议替代包。

PHP中的简单字符串插值。

v1.2.1 2014-07-17 12:35 UTC

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!'

使用方法

  1. 标签用双大括号包围。

  2. 直接替换;没有条件块、部分等。

  3. 标签可以引用多维数组中的嵌套值(如上例所示)。

  4. 要插入的值可以是标量、实现__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数组。

  5. 如果找不到标签的值,则将标签替换为空字符串。

本README中的两个示例可以在examples.php文件中找到。

要求

Interpolate.php至少需要PHP 5.3HHVM

安装

使用Composer安装

  1. 安装Composer

  2. 安装Interpolate.php Composer包

    $ composer require yuanqing/interpolate ~1.2
  3. 在PHP中引入Composer自动加载器

    require_once __DIR__ . '/vendor/autoload.php';

手动安装

  1. 克隆此仓库

    $ git clone https://github.com/yuanqing/interpolate

    或者直接下载zip文件

  2. 在PHP中引入Interpolate.php

    require_once __DIR__ . '/src/Interpolate.php';

测试

您需要PHPUnit来运行测试

$ git clone https://github.com/yuanqing/interpolate
$ cd interpolate
$ phpunit

许可

MIT许可