包 | helper |
---|---|
类层次 | class Helper_YAML |
版本 | $Id: yaml.php 2392 2009-04-05 13:54:14Z lonestone $ |
Helper_YAML 提供 yaml 文档的解析和输出服务
方法 | 描述 | 定义于 |
---|---|---|
loadCached() | 载入缓存的 YAML 解析结果,如果缓存失效,则重新解析并生成缓存 | Helper_YAML |
load() | 载入 YAML 文件,返回分析结果 | Helper_YAML |
parse() | 分析 YAML 字符串,返回分析结果 | Helper_YAML |
dump() | 将 PHP 数组(或者实现了 ArrayAccess 接口的对象)输出为字符串 | Helper_YAML |
public static array loadCached($filename, $replace, $cache_backend)
$filename | string | 要解析的 yaml 文件名 |
$replace | array | 对于 YAML 内容要进行自动替换的字符串对 |
$cache_backend | string | 要使用的缓存后端 |
{return} | array | 解析结果 |
载入缓存的 YAML 解析结果,如果缓存失效,则重新解析并生成缓存
用法:
$arr = Helper_YAML::loadCached($filename);
$replace 参数的用法参考 load() 方法。
public static array load($filename, $replace)
$filename | string | 要解析的 yaml 文件名 |
$replace | array | 对于 YAML 内容要进行自动替换的字符串对 |
{return} | array | 解析结果 |
载入 YAML 文件,返回分析结果
关于 YAML 的详细信息,请参考 http://www.yaml.org 。
$arr = Helper_YAML::load('my_data.yaml.php');
如果指定了 $replace 参数,解析过程中会使用 $replace 指定的内容去替换 YAML 文件的内容。
$replace = array ( '%TITLE%' => 'application title', '%ADMIN_USER%' => 'administrator', ); $data = Helper_YAML::load('my_data.yaml.php'); // my_data.yaml.php 中包含的 // %TITLE% 和 %ADMIN_USER% 字符串会被替换为指定的内容
注意: 为了安全起见,不要将 yaml 文件置于浏览器能够访问的目录中。
如果无法满足前面的条件,应该将 YAML 文件的扩展名设置为 .yaml.php, 并且在每一个 YAML 文件开头添加“exit()”。
例如:
# <?php exit(); ?> invoice: 34843 date : 2001-01-23 bill-to: &id001 ......这样可以确保即便浏览器直接访问该 .yaml.php 文件,也无法看到内容。
书写 yaml 文件时,不要插入多余的空行。 完整的书写规范请参考 http://www.yaml.org 。
public static array parse($input, $replace)
$input | string | 要分析的 YAML 字符串 |
$replace | array | 对于 YAML 内容要进行自动替换的字符串对 |
{return} | array | 解析结果 |
分析 YAML 字符串,返回分析结果
public static string dump($data, $indent)
$data | array | 要输出的数组 |
$indent | int | 缩进空格数 |
{return} | string | 输出结果 |
将 PHP 数组(或者实现了 ArrayAccess 接口的对象)输出为字符串