openlss/lib-tml

用于解析和创建我们的Tabbed Meta Lanuage (TML)库

0.0.5 2013-03-26 09:08 UTC

This package is not auto-updated.

Last update: 2024-09-14 12:49:36 UTC


README

用于解析和创建我们的Tabbed Meta Lanuage (TML)库

TML是一种简单的存储语言,LSS可以使用。TML代表“Tabbed Meta Language”,虽然不以制表符作为分隔符,但建议使用。

语法

  • 每个级别的缩进必须使用一个分隔符(默认为制表符)
  • 名称和值对必须使用一个分隔符(再次是制表符)分隔
  • 空数组必须定义为:name []
  • 匿名数组条目可以添加到列表中,但转换回TML时将显示索引
  • 所有TML文件都需要一个根元素来定义文档

示例

app
        source  /opt/myapp
        mirror  /data/mirror
        blankarray    []
        packages
                usr/lib/news
                        version         0.0.1
                        description     The news library
                        depends
                                main/util/func  0.0.1
                        manifest
                                lib/news.php
                usr/app-web/news
                        version         0.0.1
                        description     News front end
                        depends
                                main/sys/db     0.0.1
                                usr/lib/news    0.0.1
                        manifest
                                ctl/news.php
                                tpl/news.tpl.php
                                news.txt

用法

use \LSS\TML

//setup our test array
$array = array('test'=>'test1','test2'=>'test3');

//conert array to TML
$tml = TML::fromArray($array);

//convert TML to array
$array = TML::toArray($tml);

参考

(string) TML::fromArray($arr,$level=0,$newline=true)

  • $arr 要解析为TML的数组
  • $level 这是一个用于嵌套解析的内部指针
  • $newline 这是一个用于嵌套解析的内部标志,返回可以传输为文本且非常适合压缩的TML

(array) TML::toArray($buf)

  • $buf 要解析的TML