Download the PHP package israel-nogueira/galaxy-db without Composer
On this page you can find all versions of the php package israel-nogueira/galaxy-db. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download israel-nogueira/galaxy-db
More information about israel-nogueira/galaxy-db
Files in israel-nogueira/galaxy-db
Package galaxy-db
Short Description ORM simples para PHP e Base de Dados
License GPL-3.0-or-later
Informations about the package galaxy-db
Instalação |
Config a base |
Snippets |
Models |
Exemplos de uso
Functions |
Crypt |
Store Procedures |
RAC |
Migrations
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
Instale via composer.
Acrescente em seu composer.json:
GUIA PRÁTICO
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 basepass
: Senhaname
: Nome da basehost
Porta
Caso falte algum ou todos os dados, o prompt irá lhe pedir.
Ou criar manualmente um arquivo na raiz do seu projeto e preencha os dados de conexão de sua base:
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:
E Pronto, você e seu VSCode estão prontos para trabalhar de maneira rápida e eficaz.
Alguns atalhos:
, , ou retornam a classe completa de CRUD;
ou :
Mostra a lista de tabelas disponíveis em sua base de dados;
Se tiver retorna a função montada ;
Caso contrario, retorna apenas o nome da tabela
ou :
Se tiver retorna a função montada ;
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.
ou :
Você pode retornar uma lista de tabelas ou colunas de sua base de dados
ou :
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
Este é o comando para criar suas Models.
Cada palavra é um parametro, por exemplo “usuarios e produtos” no comando:
Isso criará automaticamente os seguinte arquivos:
/app/models/usuariosModel.php
/app/models/produtosModel.php
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
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.
Resultará no seguinte select:
Select mais completo
Resultará em uma query assim:
SUB SELECTS
Isso resultará na seguinte query:
Também podemos aplicar uma subquery a uma coluna:
MULTIPLOS SELECTS
Podemos também executar múltiplos selects em uma só instancia:
Nos resultará no seguinte array:
Insert
Podemos inserir dados de algumas formas diferentes:
MULTIPLOS INSERTS + TRANSACTION + ROLLBACK
INSERT ARRAY + TRANSACTION + ROLLBACK
CALLBACKS
Para termos um callback de sucesso ou erro basta inserir:
UPDATE:
MULTIPLOS UPDATES + TRANSACTION + ROLLBACK:
MULTIPLOS UPDATES COM ARRAYS:
DELETE
FUNÇÕES NA MODEL
Você pode também estender padrões em sua model.
Podendo abstrair mais nossas consultas.
Seguindo o exemplo abaixo:
E quando for utilizar a classe:
STORED PROCEDURES
Uma Store Procedure, pode ser chamada de duas maneiras.
1ª - Função ->SP()
2ª - FUNÇÃO MÁGICA
Você também pode chamar simplesmente adicionando na frente da sua função, que a classe automaticamente entende que essa função é uma Stored Procedure;
Exemplo:
PARÂMTROS IN OUT
Todo parâmetro que você inserir com no início, a classe identifica que é um parâmetro de saída.
A variável representará a seguinte saída:
PARÂMTROS IN OUT MAIS SELECTS
Caso a sua Store Procedure possúa algum select interno, será processado como uma query;
Resultará em:
$_RESULT:
$_OUTPUT:
CRIPTOGRAFIA
Para utilizar essa funcionalidade, será necessário inserir dois parametros no arquivo /.env:
e ;
Para mais detalhes, leia a documentação do PHP:
https://www.php.net/manual/en/function.openssl-encrypt
https://www.php.net/manual/en/function.openssl-decrypt
Digamos que você tenha algum dado sensível em sua base,
e não gostaria de deixar ela solta em meio a outros dados em suas tabelas;
Você poderá utilizar o método
Em sua base ficará assim:
NOME | CPF | PIN | |
---|---|---|---|
João da Silva | NCUB1pM9/orreKyzctvaVg== | wOvOZFR1hItpTWiwa4m3ntak= | a45EqjRSU0RRrmTEFQifvA== |
E quando for receber esse valor, sete novamente a flag.
RAC - REGISTRO DE ALTERAÇÕES DE CONTEÚDO
O GalaxyDB possui um mecanismo integrado de registro de alterações de conteúdo que permite rastrear e visualizar todas as modificações feitas nos dados do conteúdo. Esse recurso permite uma gestão mais eficiente e um histórico completo das alterações realizadas, facilitando a auditoria e o controle de versões.
Para ativar serviço:
Para desativar serviço:
Você também pode executar programaticamente em PHP:
Isso criará uma tabela em sua base chamada GALAXY__RAC
onde será inserido 5 colunas:
TABELA
: Tabela que foi feita a açãoACTION
: INSERT | UPDATE | DELETEQUERY
: Query que foi executadaROLLBACK
: Query "ctrl+z", voltará ao estado anterior da ação executadaDATA_HORA
: Data e hora que foi executado o comando
MIGRATIONS
O GalaxyDB também possúi um sistema de migration próprio;
Isso quer dizer que todas as alterações estruturais feitas na base de dados,
como criação/alterações/exclusões de ,, ou .
Atenção:
Para que essas funções funcionem, é necessário antes executar esse comando em seu MySQL;
Obs.: Coloque o PATH do seu arquivo da sua preferencia
EXECUTANDO
Pronto! Agora que estamos configurados, você pode criar umas tabelas,
editar umas colunas, criar algumas triggers e execute o comando:
CLI:
Você também pode executar programaticamente em PHP:
Agora você poderá verificar que foi criado um arquivo na raiz do sistema:
;