PHPackages                             adelf/ventriloquist - 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. adelf/ventriloquist

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

adelf/ventriloquist
===================

2.0.0(5y ago)18.1k1MITPHPPHP &gt;=7.1

Since May 27Pushed 5y ago1 watchersCompare

[ Source](https://github.com/AmadeusDelfino/ventriloquist)[ Packagist](https://packagist.org/packages/adelf/ventriloquist)[ RSS](/packages/adelf-ventriloquist/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (8)Dependencies (2)Versions (11)Used By (0)

Ventriloquist
=============

[](#ventriloquist)

[![Build Status](https://camo.githubusercontent.com/e9cb34a7b621ff055351a6a8386c027ecb1267b7f1bba6dbffc24bcaca42fda0/68747470733a2f2f7472617669732d63692e6f72672f416d616465757344656c66696e6f2f76656e7472696c6f71756973742e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/AmadeusDelfino/ventriloquist)[![StyleCI](https://camo.githubusercontent.com/5d95820bac1af2bc26ada2e6a74afd4e1b762e84316669d2cdcfd31b9420824c/68747470733a2f2f6769746875622e7374796c6563692e696f2f7265706f732f3133343931363937302f736869656c643f6272616e63683d6d6173746572)](https://github.styleci.io/repos/134916970)

Suporte para fornecer uma interface única para consultas no banco de dados que utilizam ORMs com suporte a dotnotation (como o Eloquent)

Exemplo de uso
--------------

[](#exemplo-de-uso)

```
{
	"values": [
	  {
	    "name": "name"
	  },
	  {
	    "name": "last_name"
	  },
	  {
	    "name": "salary"
	  },
	  {
	    "name": "email"
	  },
	  {
	    "name": "vacation",
	    "select": [
	      "id",
	      "start_date",
	      {
	        "name": "allowance",
	        "select": [
	          "id"
	        ]
	      }
	    ]
	  }
    ]
}
```

Como o Ventriloquist foi desenvolvido orientado a microserviços que utilizam mensageria (de forma reativa), eis um exemplo de utilização em JSON, considerando que o padrão de mensagens utilizado seja JSON.

Um array PHP que vai gerar um JSON dessa forma é o seguinte:

```
  array (
    0 =>
    array (
      'name' => 'name',
    ),
    1 =>
    array (
      'name' => 'last_name',
    ),
    2 =>
    array (
      'name' => 'salary',
    ),
    3 =>
    array (
      'name' => 'email',
    ),
    4 =>
    array (
      'name' => 'vacation',
      'select' =>
      array (
        0 => 'id',
        1 => 'start_date',
        2 =>
        array (
          'name' => 'allowance',
          'select' =>
          array (
            0 => 'id',
          ),
        ),
      ),
    )
```

#### Implementação

[](#implementação)

```
$parser = new Generator();
$parser->query($arrayQuery);
$parser->rootModel(new \My\Root\Model());
$parsed = $parser->parse();

return $parsed->eloquentBuilder()->limit(10)->get();
```

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity64

Established project with proven stability

 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 ~116 days

Recently: every ~203 days

Total

8

Last Release

2096d ago

Major Versions

1.2.0 → 2.0.02020-08-17

### Community

Maintainers

![](https://www.gravatar.com/avatar/5a92c26e6cdfea4cce9a05560ab71b39b875dbd2b40d542ac4a4ba88e3a16014?d=identicon)[AmadeusDelfino](/maintainers/AmadeusDelfino)

---

Top Contributors

[![AmadeusDelfino](https://avatars.githubusercontent.com/u/8449920?v=4)](https://github.com/AmadeusDelfino "AmadeusDelfino (25 commits)")

---

Tags

eloquentjsonlaravelphpqueryrelationsselect

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/adelf-ventriloquist/health.svg)

```
[![Health](https://phpackages.com/badges/adelf-ventriloquist/health.svg)](https://phpackages.com/packages/adelf-ventriloquist)
```

###  Alternatives

[wireui/wireui

TallStack components

1.8k1.3M16](/packages/wireui-wireui)[livewire/volt

An elegantly crafted functional API for Laravel Livewire.

4195.3M84](/packages/livewire-volt)[ramonrietdijk/livewire-tables

Dynamic tables for models with Laravel Livewire

21147.4k](/packages/ramonrietdijk-livewire-tables)

PHPackages © 2026

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