PHPackages                             mvclaudianobj/galaxy-db - 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. [Database &amp; ORM](/categories/database)
4. /
5. mvclaudianobj/galaxy-db

ActiveLibrary[Database &amp; ORM](/categories/database)

mvclaudianobj/galaxy-db
=======================

ORM simples para PHP e Base de Dados

v1.0.1(1y ago)00GPL-3.0-or-laterPHPPHP &gt;=7.4

Since Apr 28Pushed 1y agoCompare

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

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

 [![](https://raw.githubusercontent.com/israel-nogueira/galaxy-db/main/src/topo_README.jpg)](https://raw.githubusercontent.com/israel-nogueira/galaxy-db/main/src/topo_README.jpg)

 [Instalação](#instalação) | [Config a base](#configurando-a-base) | [Snippets](#snippets-para-vscode) | [Models](#criando-models) | [Exemplos de uso](#exemplos-de-uso)
 [Functions](#funções-na-model) | [Crypt](#criptografia) | [Store Procedures](#stored-procedures) | [RAC](#rac---registro-de-alterações-de-conteúdo) | [Migrations](#migrations)

 [ ![](https://camo.githubusercontent.com/356400fff0e4259d748439910bf452053d04aa460bee8e9208470bce6da32a23/68747470733a2f2f706f7365722e707567782e6f72672f69737261656c2d6e6f6775656972612f67616c6178792d64622f762f737461626c652e737667) ](https://packagist.org/packages/israel-nogueira/galaxy-db) [![](https://camo.githubusercontent.com/0d48535e4bfaca38bdafdeef01d48c2004d6f69808028e0553ab7eb3d0155d85/68747470733a2f2f706f7365722e707567782e6f72672f69737261656c2d6e6f6775656972612f67616c6178792d64622f646f776e6c6f616473)](https://packagist.org/packages/israel-nogueira/galaxy-db) [![](https://camo.githubusercontent.com/3d2e8de226124566b306977f50fbf70977d0a61ffec0393e3fe0b10115ae4228/68747470733a2f2f706f7365722e707567782e6f72672f69737261656c2d6e6f6775656972612f67616c6178792d64622f6c6963656e73652e737667)](https://packagist.org/packages/israel-nogueira/galaxy-db)

Classe para controlar a sua base de dados no PHP com facilidade e segurança.

Essa classe dá suporte as seguintes conexões:

`mysql` `pgsql``sqlite` `ibase``fbird ` `oracle``mssql` `dblib``sqlsrv`

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

[](#instalação)

Instale via composer.

```
    composer require israel-nogueira/galaxy-db

```

Acrescente em seu *composer.json*:

```
    "scripts": {
        "galaxy": "php vendor/israel-nogueira/galaxy-db/src/galaxy"
    }

```

GUIA PRÁTICO
------------

[](#guia-prático)

 [ ![](https://raw.githubusercontent.com/israel-nogueira/galaxy-db/main/src/player.png?v=2) ](http://www.youtube.com/watch?feature=player_embedded&v=ih4Q--q-Vng)

CONFIGURANDO A BASE
-------------------

[](#configurando-a-base)

Você pode configuraros dados de conexão via CLI:

- `type`: Sigla do tipo de base *(mysql, pgsql etc)*
- `user`: Usuário da base
- `pass`: Senha
- `name`: Nome da base
- `host ` Porta

Caso falte algum ou todos os dados, o prompt irá lhe pedir.

```

   composer run-script galaxy config-connection -- --type= --user= --pass= --name= --host=

```

Ou criar manualmente um arquivo `/.env` na raiz do seu projeto e preencha os dados de conexão de sua base:

```
    #/.env

    DB_HOST=localhost
    DB_PORT=3306
    DB_DATABASE=MyDataBase
    DB_TYPE=mysql
    DB_USERNAME=root
    DB_PASSWORD=
    DB_CHAR=
    DB_FLOW=
    DB_FKEY=
```

Snippets para VSCode
--------------------

[](#snippets-para-vscode)

Depois que você configurou os dados de conexão, poderá criar um snippets da classe.
Sim, essa classe também conta com um script que importa a estrutura da sua base de dados.
E monta um snippets com atalhos.

Para criar **ou atualizar** seu snippets, basta executar:

```

    composer run-script galaxy update-snippets

```

E Pronto, você e seu VSCode estão prontos para trabalhar de maneira rápida e eficaz. [![GalaxyDB](https://raw.githubusercontent.com/israel-nogueira/galaxy-db/main/src/snippets-exemplo.gif)](https://raw.githubusercontent.com/israel-nogueira/galaxy-db/main/src/snippets-exemplo.gif)

#### Alguns atalhos:

[](#alguns-atalhos)

`select`, `update`, `insert` ou `delete` retornam a classe completa de CRUD;

`table` ou `->table`:
Mostra a lista de tabelas disponíveis em sua base de dados;
Se tiver `->` retorna a função montada `->table("sua-tabela")`;
Caso contrario, retorna apenas o nome da tabela

`colum` ou `->colum`:
Se tiver `->` retorna a função montada `->colum("sua-tabela")`;
Caso contrario, retorna apenas o nome da coluna.

Inicialmente ela mostra a lista de tabelas disponíveis em sua base de dados;
E na sequencia a lista de colunas daquela tabela selecionada.

`columns` ou `tables` :
Você pode retornar uma lista de tabelas ou colunas de sua base de dados

`columns` ou `tables` :
Você pode retornar uma lista de tabelas ou colunas de sua base de dados

E com tempo vamos incrementando a lista de atalhos.

CRIANDO MODELS
--------------

[](#criando-models)

Este é o comando para criar suas Models.
Cada palavra é um parametro, por exemplo *“usuarios e produtos”* no comando:

```
    composer run-script galaxy new-model usuarios produtos

```

Isso criará automaticamente os seguinte arquivos:

> **/app/models/usuariosModel.php**
> **/app/models/produtosModel.php**

PADRÃO DAS MODELS
-----------------

[](#padrão-das-models)

Basta importar o autoload e o namespace da sua Model e utilizar

```

```

A *Model* é o uso da classe abstrata da classe principal.
Nela serão cadastrados os parâmetros de uso da classe.

```

```

EXEMPLOS DE USO

----------------

[](#exemplos-de-uso)

### Select simples

[](#select-simples)

O exemplo apresenta um `SELECT` básico com um filtro apenas para usuário com `ID=7`.

Uma `array` vazia será retornada caso a consulta não encontre resultados.

```
