https://github.com/ricardo-melo-martins/pdo-wrapper
⚡ RMM ⚡Simples abstração de banco de dados em Php 8.x usando conector PDO
https://github.com/ricardo-melo-martins/pdo-wrapper
docker mysql oop pdo php8 postgres sqlite
Last synced: 3 months ago
JSON representation
⚡ RMM ⚡Simples abstração de banco de dados em Php 8.x usando conector PDO
- Host: GitHub
- URL: https://github.com/ricardo-melo-martins/pdo-wrapper
- Owner: ricardo-melo-martins
- License: mit
- Created: 2024-02-19T17:59:09.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-02-21T14:49:31.000Z (over 2 years ago)
- Last Synced: 2025-07-11T11:21:14.996Z (12 months ago)
- Topics: docker, mysql, oop, pdo, php8, postgres, sqlite
- Language: PHP
- Homepage:
- Size: 1.72 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
### ⚡ RMM ⚡
# pdo-wrapper
Simples abstração de banco de dados em Php 8.x usando conector PDO
## Requisitos
- PHP 8.x
- extensões do PDO habilitadas no php.ini `pdo_sqlite`, `pdo_mysql` e `pdo_pgsql`
- Docker (opcional)
## Características
Funciona com os seguintes bancos de dados
- Sqlite
- Mysql
- Postgre
## Como utilizar
```bash
if (! defined('RMM_VERSION')) {
require_once dirname(dirname(__DIR__)) . '/autoload.php';
}
use RMM\Database;
$config = [
'sqlite'=> [
'driver' => 'sqlite',
'database' => './examples/sqlite/data/Chinook.db',
]
];
try {
$db = new Database($config['sqlite']);
$db->connect();
} catch (\Throwable $th) {
print_r($th->getMessage());
exit;
}
$connection = $db->getConnection();
```
E voilá, tem uma conexão com o banco.
Exemplo de consulta usando a conexão criada
```bash
$connection = $db->getConnection();
$stmt = $connection->query("SELECT EmployeeId, FirstName, LastName, Title FROM Employee");
foreach ($stmt as $row) {
echo($row['EmployeeId'].' | '.$row['FirstName'].' | '.$row['LastName'].' | '.$row['Title'] . PHP_EOL );
}
unset($db);
```
## Exemplos
No diretório `examples` contém exemplos de conexão com bancos de dados diferentes usando dados de exemplo
Considere utilizar o Docker para validar facilmente os exemplos para `Mysql` e `Postgres`
Para rodar exemplo 1 [`SQLITE`]
``` bash
$ php ./examples/sqlite/connect.php
```
Retorno será algo como isso aqui

Para rodar exemplo 2 [`MYSQL`]
``` bash
$ php ./examples/mysql/connect.php
```
Retorno será algo como isso aqui

Para rodar exemplo 3 [`POSTGRES`]
``` bash
$ php ./examples/pgsql/connect.php
```
Retorno será similar ao anterior (mysql)
## Docker
É possível encontrar os scripts e ou bancos de dados para rodar em docker estes exemplos em:
https://github.com/ricardo-melo-martins/docker
Lá tem as instruções para "subir" os dumps em poucos comandos
Para utilizar as configurações do exemplo, acesse o diretório
``` bash
$ cd .docker/
```
Faça uma copia do arquivo de exemplo
``` bash
$ cp .env.example .env
```
As variáveis já possuem usuário e senha usados nos exemplos, mas é possível alterar como quiser. Se alterar apenas lembre-se de mudar em `examples/config/config.php` para que os exemplos continuem funcionando.
Seguindo as instruções terá algo como isso no Docker Desktop ...

Agora é só rodar os exemplos.