PHPackages                             bruninho51/php-clipboard - 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. bruninho51/php-clipboard

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

bruninho51/php-clipboard
========================

PhpClipboard é uma biblioteca para geração de formulários através de um banco de dados.

v0.5(7y ago)011GPL-3.0PHP

Since Feb 10Pushed 7y agoCompare

[ Source](https://github.com/bruninho51/PhpClipboard)[ Packagist](https://packagist.org/packages/bruninho51/php-clipboard)[ RSS](/packages/bruninho51-php-clipboard/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

PhpClipboard
============

[](#phpclipboard)

Biblioteca PHP para criação de formulários em HTML.

Instalando
----------

[](#instalando)

Primeiro de tudo, é necessário baixar a biblioteca. Você pode usar o Composer para isso:
`composer require bruninho51/php-clipboard @dev`

Criando Tabelas
---------------

[](#criando-tabelas)

Em seguida, você deverá criar as tabelas que a biblioteca necessita. Para isto, rode o script **database.sql**, disponível em vendor/bruninho51/php-clipboard.

Criando o Adaptador
-------------------

[](#criando-o-adaptador)

Para que a biblioteca possa se comunicar com o banco, é necessário que você crie um adaptador. O adaptador deve respeitar a interface **IphpClipboardAdapter**. Na pasta example, há um exemplo de implementação de adaptador utilizando PDO.

Chamando um formulário
----------------------

[](#chamando-um-formulário)

Veja abaixo um exemplo de como gerar o HTML de um formulário cadastrado:

`include_once DIR . '/../vendor/autoload.php';`
`include 'AdapterExample.php';`
`$adapter = new AdapterExample;`
`$myClip = new PhpClipboard\PhpClipboard($adapter);`
`$form = $myClip->getForm(1);`
`echo $form->getHTML('Action.php', 'default')`

1. Você deverá instanciar seu adaptador;
2. Em seguida, deve instanciar o PhpClipboard passando o adaptador no contrutor;
3. Chame o método getForm, passando o id do formulário. Ele retornará um objeto do tipo FormPhpClipboard;
4. Com o objeto acima em mãos, chame o método getHTML, passando a action do formulário e o nome do template.

Criando Regras de Formulário
----------------------------

[](#criando-regras-de-formulário)

Para criar uma regra, crie uma classe na pasta vendor/bruninho51/php-clipboard/roles. A classe deve herdar da classe RolePhpClipboard. Um método chamado role deve ser criado, com um argumento de nome $form, do tipo IFormPhpClipboad. É nesse método que a validação deve ser implementada. Em caso de erro, você deve emitir uma Exception, que será tratada pela biblioteca.

MyProcessPhpClipboard
---------------------

[](#myprocessphpclipboard)

No banco de dados, na tabela de formulário existem as seguintes colunas: processValidateSuccess e processValidateFailure. Você deverá criar dois métodos em vendor/bruninho51/php-clipboard/src/MyProcessPhpClipboard.php: Um para ser chamado caso a validação do formulário falhe, e outro para ser chamado caso os dados enviados pelo usuário passe na validação. O nome dos métodos devem ser colocados nas respectivas colunas. Exemplo de método de tratamento em MyProcessPhpClipboard:

`function myProcessExample(FormPhpClipboard $form){`

```}`

Perceba que o método deve ter um argumento do tipo FormPhpClipboard. A biblioteca fará a injeção de dependência do formulário enviado pelo usuário automáticamente.

Criando Templates de Formulário
-------------------------------

[](#criando-templates-de-formulário)

Os templates de formulário devem ser criados na pasta vendor/bruninho51/php-clipboard/templates. Eles devem ser colocados na raiz dessa pasta. O contexto do template é a interface IphpClipboardTemplate. Chame os métodos usando $this. A interface possui métodos tanto para conseguir informações do formulário, como nome e id, como as informações dos campos.

Entradas Personalizadas
-----------------------

[](#entradas-personalizadas)

Por padrão, a biblioteca cria entradas de formulário comuns, mas você pode criar entradas personalizadas. Para criar uma entrada personalizada, crie um template em vendor/bruninho51/php-clipboard/templates/components. O contexto do template é o objeto PhpClipboardComponentEntry. Você poderá usar as propriedades e métodos desse objeto para resgatar os dados da entrada de formulário, e assim, criar sua entrada personalizada. Para acessar os métodos, use $this. Em seguida, você deverá criar uma classe em vendor/bruninho51/php-clipboard/components. Ela deve ter o namespace **PhpClipboard\\Components**, herdar de **PhpClipboardComponentEntry** e também deve ser criado o atributo **$template**, com o nome do template criado anteriormente. Com o componente criado, entre no registro do banco de dados, na tabelas de campos, e na coluna component, coloque o nome da classe criada.

**Exemplo Prático**Para um melhor exemplo, entre na pasta example, em vendor/bruninho51/php-clipbord.

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity50

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

Unknown

Total

1

Last Release

2647d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/73ccd84a44f8dc5a85255584ba5919b64e043e9e591b1da362a1923babce163d?d=identicon)[bruninho51](/maintainers/bruninho51)

---

Top Contributors

[![bruninho51](https://avatars.githubusercontent.com/u/26930188?v=4)](https://github.com/bruninho51 "bruninho51 (21 commits)")

### Embed Badge

![Health badge](/badges/bruninho51-php-clipboard/health.svg)

```
[![Health](https://phpackages.com/badges/bruninho51-php-clipboard/health.svg)](https://phpackages.com/packages/bruninho51-php-clipboard)
```

###  Alternatives

[log1x/acf-composer

Create fields, blocks, option pages, and widgets using ACF Builder and Sage 10

493760.2k13](/packages/log1x-acf-composer)[markrogoyski/ipv4-subnet-calculator

Network calculator for subnet mask and other classless (CIDR) network information.

177813.7k6](/packages/markrogoyski-ipv4-subnet-calculator)[b13/menus

Easy and fast menus for TYPO3 Frontends

58534.7k1](/packages/b13-menus)[hfig/mapi

Pure PHP library for reading and manipulating Microsoft Outlook .msg messages (MAPI documents)

40420.9k2](/packages/hfig-mapi)

PHPackages © 2026

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