PHPackages                             lighthorse-consulting/tao - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. lighthorse-consulting/tao

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

lighthorse-consulting/tao
=========================

The Tao of Microservices

1.0.6(8y ago)21.9k1MITPHPPHP ^7.0

Since Mar 25Pushed 8y ago4 watchersCompare

[ Source](https://github.com/lighthorse-consulting/tao)[ Packagist](https://packagist.org/packages/lighthorse-consulting/tao)[ Docs](https://github.com/lighthorse-consulting/tao)[ RSS](/packages/lighthorse-consulting-tao/feed)WikiDiscussions master Synced 4w ago

READMEChangelog (7)Dependencies (1)Versions (8)Used By (0)

Tao
===

[](#tao)

The Tao of Microservices is an application layer for rapid data access.

Install
-------

[](#install)

To install the library simply include it in your `composer.json` file.

Settings
--------

[](#settings)

The data access payer expects a `settings.ini` file at the base of the your service directory. This file should organize it's data into sections, with the specific settings for each.

To connect to a database, just add a `[database]` section to your INI file, with the following properties:

```
[database]

dsn = ...
username = ...
password = ...

```

Usage
-----

[](#usage)

To register a service simply call the static `Tao\Service::init()` method, and pass it a key =&gt; value array of action names and their corresponding callbacks.

Then, simply call the `run()` method to register the actions and run the service, for example:

```
Tao\Service::init([
    'example' => function ($action) {
        // action logic here
        return $action;
    }
])->run();
```

To use the data access layer call the static `Tao\Action::init()` from within your logic, and pass it the `$action` instance. This will provide the database connection and helper methods to easily populate your transport. Then, just call the `run()` method to execute and return the `$action` instance, for example:

```
return Tao\Action::init($action)->entity(['text' => 'Hello World'])->run();
```

Both the `entity()` and `collection()` methods can receive raw data, or they can take a string, which they assume to be an SQL function, for example:

```
return Tao\Action::init($action)->entity('do_something')->run();
```

A set of arguments to pass to that function may be provided as the second argument. If none is provided it assumed that all parameters passed to the actions are also for the SQL function. Note that the argument are prepended with "p\_" by default.

Copyright
---------

[](#copyright)

Copyright (c) 2016-2017 LightHorse Consulting, LLC. All rights reserved.

###  Health Score

32

—

LowBetter than 69% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 77.8% 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 ~41 days

Recently: every ~59 days

Total

7

Last Release

3135d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/19653098?v=4)[LightHorse Consulting](/maintainers/lighthorse-consulting)[@lighthorse-consulting](https://github.com/lighthorse-consulting)

---

Top Contributors

[![nullproxy](https://avatars.githubusercontent.com/u/9582491?v=4)](https://github.com/nullproxy "nullproxy (28 commits)")[![fcastilloes](https://avatars.githubusercontent.com/u/2611437?v=4)](https://github.com/fcastilloes "fcastilloes (7 commits)")[![lighthorse-ops](https://avatars.githubusercontent.com/u/19927133?v=4)](https://github.com/lighthorse-ops "lighthorse-ops (1 commits)")

---

Tags

TAOlighthorse

### Embed Badge

![Health badge](/badges/lighthorse-consulting-tao/health.svg)

```
[![Health](https://phpackages.com/badges/lighthorse-consulting-tao/health.svg)](https://phpackages.com/packages/lighthorse-consulting-tao)
```

###  Alternatives

[oat-sa/tao-core

TAO core extension

66140.1k108](/packages/oat-sa-tao-core)[oat-sa/generis

TAO generis library

10144.6k109](/packages/oat-sa-generis)

PHPackages © 2026

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