PHPackages                             elxdigital/gerador - 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. [CLI &amp; Console](/categories/cli)
4. /
5. elxdigital/gerador

ActiveLibrary[CLI &amp; Console](/categories/cli)

elxdigital/gerador
==================

Ferramentas CLI para projetos PHP institucionais

v1.3.18(11mo ago)01MITPHPPHP &gt;=8.1

Since May 5Pushed 11mo agoCompare

[ Source](https://github.com/elxdigital/gerador)[ Packagist](https://packagist.org/packages/elxdigital/gerador)[ RSS](/packages/elxdigital-gerador/feed)WikiDiscussions main Synced today

READMEChangelog (10)Dependencies (1)Versions (31)Used By (0)

🚀 Gerador de Código CLI – `elxdigital/gerador`
==============================================

[](#-gerador-de-código-cli--elxdigitalgerador)

Este pacote é um conjunto de comandos CLI em PHP para acelerar a criação de estruturas de banco de dados e cadastros a partir de arquivos `.php` com campos HTML dinâmicos (`data-field-name`).

Ele é ideal para projetos institucionais estruturados em PHP + MVC.

---

📦 Instalação
------------

[](#-instalação)

Adicione ao seu projeto via Composer:

```
composer require elxdigital/gerador
```

---

⚙️ Requisitos
-------------

[](#️-requisitos)

- PHP &gt;= 8.1
- `CONF_VIEW_THEME` definido no seu projeto (em constante ou `.env`)
- Diretório de views: `themes/{CONF_VIEW_THEME}/`
- Arquivos `.php` contendo tags com `data-field-name`

---

🛠️ Comandos disponíveis
-----------------------

[](#️-comandos-disponíveis)

### 🔹 `map:views`

[](#-mapviews)

Mapeia os arquivos `.php` em `themes/{CONF_VIEW_THEME}/`, ignorando `error.php` e `_theme.php`.

---

### 🔹 `read:fields`

[](#-readfields)

Lê os arquivos `.php` mapeados e identifica as tags HTML com `data-field-name`.
Gera:

- `storage/tags_mapeadas.txt` → log técnico dos campos
- `storage/tabelas.sql` → instruções `CREATE TABLE`
- `storage/inserts.sql` → instruções `INSERT`

#### 🧩 Tipos reconhecidos (`data-field-type`)

[](#-tipos-reconhecidos-data-field-type)

HTML / data-field-typeTipo SQL gerado`textarea`, `mce``TEXT DEFAULT NULL``text`, `varchar``VARCHAR(255) DEFAULT NULL``int``INT(11) UNSIGNED DEFAULT NULL``date``DATE DEFAULT NULL``timestamp``TIMESTAMP NULL DEFAULT NULL``foreign``INT(11) UNSIGNED DEFAULT NULL` + `FOREIGN KEY` (requer `data-table-ref`)---

### 🔹 `create:model`

[](#-createmodel)

Gera o arquivo `Model` em `source/Models/` baseado nos campos detectados, com docblocks e construtor padrão.
A classe gerada se chama `PaginaNomeDaPagina` e a tabela `pagina_nome_da_pagina`.

---

### 🔹 `create:controller`

[](#-createcontroller)

Gera o `Controller` com os métodos:

- `nomepagina()` → renderiza a view
- `save(array $data)` → salva o registro único
- `active(array $data)` → ativa ou desativa o registro

A classe gerada se chama `PaginaNomeDaPagina` e vai para `source/App/Admin/`.

---

### 🔹 `create:view`

[](#-createview)

Gera a view padrão (`themes/admin/widgets/{menu}/{funcao}/{funcao}.php`) contendo os campos dinâmicos.
Cada campo usa o tipo correto de `input`, `textarea`, `mce`, etc.

---

### 🔹 `create:routes`

[](#-createroutes)

Gera o bloco de rotas em `storage/rotas.php` para ser copiado para o `index.php`:

```
// exemplo
$route->get('/contato/contato/contato', 'PaginaContato:contato');
$route->post('/contato/contato/save', 'PaginaContato:save');
$route->post('/contato/contato/active', 'PaginaContato:active');
```

---

### 🔹 `db:apply`

[](#-dbapply)

Aplica os arquivos `storage/tabelas.sql` e `storage/inserts.sql` no banco de dados atual.

Configure via `.env`:

```
CONF_DB_HOST=localhost
CONF_DB_NAME=seubanco
CONF_DB_USER=root
CONF_DB_PASS=
```

---

### 🔹 `generate:all`

[](#-generateall)

Executa os seguintes comandos em sequência:

1. `map:views`
2. `read:fields`
3. `create:model`
4. `create:controller`
5. `create:view`
6. `create:routes`
7. `db:apply`

---

✅ Estrutura esperada
--------------------

[](#-estrutura-esperada)

```
project-root/
│
├── themes/
│   └── {CONF_VIEW_THEME}/
│       ├── home.php
│       ├── contato.php
│       └── ...
│
├── storage/
│   ├── teste.txt
│   ├── tabelas.sql
│   ├── inserts.sql
│   └── rotas.php
│
├── source/
│   ├── Models/
│   └── App/Admin/
│
└── composer.json

```

###  Health Score

31

—

LowBetter than 66% of packages

Maintenance52

Moderate activity, may be stable

Popularity1

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity57

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

Total

30

Last Release

338d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/122915011?v=4)[Ellox Inteligência Digital](/maintainers/elxdigital)[@elxdigital](https://github.com/elxdigital)

---

Top Contributors

[![ellox-dev](https://avatars.githubusercontent.com/u/84869401?v=4)](https://github.com/ellox-dev "ellox-dev (45 commits)")

### Embed Badge

![Health badge](/badges/elxdigital-gerador/health.svg)

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

###  Alternatives

[laravel/framework

The Laravel Framework.

34.8k543.8M20.1k](/packages/laravel-framework)[tempest/framework

The PHP framework that gets out of your way.

2.2k34.4k15](/packages/tempest-framework)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

45444.2k1](/packages/pressbooks-pressbooks)

PHPackages © 2026

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