PHPackages                             openlss/lib-tml - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. openlss/lib-tml

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

openlss/lib-tml
===============

Library for parsing and creating our Tabbed Meta Lanuage (TML)

0.0.5(13y ago)089LGPL-3.0+PHPPHP &gt;=5.3.2

Since Mar 23Pushed 13y ago1 watchersCompare

[ Source](https://github.com/nullivex/lib-tml)[ Packagist](https://packagist.org/packages/openlss/lib-tml)[ Docs](http://openlss.org)[ RSS](/packages/openlss-lib-tml/feed)WikiDiscussions master Synced 4w ago

READMEChangelogDependenciesVersions (7)Used By (0)

openlss/lib-tml
===============

[](#openlsslib-tml)

Library for parsing and creating our Tabbed Meta Lanuage (TML)

TML is a simple storage language that LSS can use. TML stands for “Tabbed Meta Language” while tabs arent required as a delimiter they are suggested.

Syntax
------

[](#syntax)

- Each level must be indented by one delimiter (TAB is the default)
- Name value pairs must be separated by one delimiter (TAB again)
- Empty arrays must be defined as: name \[\]
- Anonymous array entries can be added to lists but when converted back to TML they will show with the indexes
- All TML files require a root element that defines the document

Example
-------

[](#example)

```
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

```

Usage
-----

[](#usage)

```
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);
```

Reference
---------

[](#reference)

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

[](#string-tmlfromarrayarrlevel0newlinetrue)

- $arr The array to be parsed into TML
- $level This is an internal pointer for nested parsing
- $newline This is an internal flag for nested parsing Returns TML that can be transported as texted and is excellent for compression

### (array) TML::toArray($buf)

[](#array-tmltoarraybuf)

- $buf The TML to be parsed Returns an array matching the original input array

###  Health Score

25

—

LowBetter than 35% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1 days

Total

5

Last Release

4845d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/83c8e9d55e3ebafb0621a441a51af8f551f61a274fde5400459a29cc320b7b75?d=identicon)[nullivex](/maintainers/nullivex)

![](https://www.gravatar.com/avatar/afffa5c56642e74ba5b880c4b78e115c1b8d00c74ceae5644ac359d10058a911?d=identicon)[spudz76](/maintainers/spudz76)

---

Top Contributors

[![nullivex](https://avatars.githubusercontent.com/u/2321375?v=4)](https://github.com/nullivex "nullivex (6 commits)")

---

Tags

functionSkeleton

### Embed Badge

![Health badge](/badges/openlss-lib-tml/health.svg)

```
[![Health](https://phpackages.com/badges/openlss-lib-tml/health.svg)](https://phpackages.com/packages/openlss-lib-tml)
```

###  Alternatives

[opis/closure

A library that can be used to serialize closures (anonymous functions) and arbitrary data.

2.6k234.9M318](/packages/opis-closure)[mck89/peast

Peast is PHP library that generates AST for JavaScript code

19037.7M42](/packages/mck89-peast)[jeremeamia/functionparser

Function parser for PHP functions, methods, and closures

48172.5k6](/packages/jeremeamia-functionparser)[sauladam/shipment-tracker

Parses tracking information for several carriers, like UPS, USPS, DHL and GLS by simply scraping the data. No need for any kind of API access.

9642.0k](/packages/sauladam-shipment-tracker)[moonshine/layouts-field

Field for repeating groups of fields for MoonShine

107.9k](/packages/moonshine-layouts-field)[tcds-io/php-jackson

A lightweight, flexible object serializer for PHP, inspired by FasterXML/jackson

112.9k10](/packages/tcds-io-php-jackson)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
