Integração de bancos de dados
O Lithe oferece flexibilidade na conexão com diferentes bancos de dados. Integrando-se perfeitamente com ORMs populares como Eloquent, o Lithe também suporta drivers nativos do PHP como MySQLi e PDO, garantindo ampla compatibilidade com diversos sistemas de gerenciamento de banco de dados.
Configuração do Ambiente
Para configurar o ambiente de conexão com o banco de dados no Lithe, você pode ajustar as variáveis de ambiente já presentes no arquivo .env
na raiz do seu projeto:
DB_CONNECTION_METHOD=pdo
DB_CONNECTION=mysql
DB_HOST=localhost
DB_NAME=lithe
DB_USERNAME=root
DB_PASSWORD=
DB_SHOULD_INITIATE=true
Onde:
-
DB_CONNECTION_METHOD
: Define o método de conexão com o banco de dados utilizado pelo Lithe. Pode ser configurado paraeloquent
,pdo
,mysqli
ou outros métodos de conexão personalizados definidos na aplicação. -
DB_CONNECTION
: Especifica o tipo de banco de dados que o Lithe deve conectar. Por exemplo,mysql
,pgsql
,sqlite
, entre outros. -
DB_HOST
: Indica o endereço do servidor onde o banco de dados está hospedado. Normalmente definido comolocalhost
para conexões locais ou um endereço IP para conexões remotas. -
DB_NAME
: Nome do banco de dados que o Lithe deve utilizar para armazenar os dados da aplicação. -
DB_USERNAME
: Nome de usuário utilizado para autenticar a conexão com o banco de dados. -
DB_PASSWORD
: Senha associada ao nome de usuário para autenticar a conexão com o banco de dados. Se deixado vazio, indica que não há senha configurada para o usuário especificado. -
DB_SHOULD_INITIATE
: Indica se o Lithe deve iniciar a conexão com o banco de dados automaticamente ao carregar a aplicação. Pode ser configurado comotrue
para iniciar automaticamente oufalse
para inicialização manual em momentos específicos do código.
Essas configurações são cruciais para estabelecer uma conexão eficaz e segura com o banco de dados definido, garantindo que o Lithe possa interagir com os dados da aplicação de forma adequada durante o desenvolvimento e execução.
Lembre-se de substituir os marcadores (localhost
, lithe
, root
e senha vazia
) pelas suas credenciais reais do banco de dados. É altamente recomendável definir uma senha forte para proteger suas credenciais e garantir a segurança da conexão com o banco de dados.
Configuração para Eloquent
Para configurar o Lithe para utilizar o Eloquent, siga os passos abaixo:
Passo 1: Defina as variáveis de ambiente no arquivo .env
:
DB_CONNECTION_METHOD=eloquent
DB_CONNECTION=mysql
Passo 2: Instale o Eloquent utilizando o Composer:
composer require illuminate/database
Explore mais sobre o Eloquent em: Documentação completa do Eloquent
Configuração para MySQLi
Para configurar o Lithe para utilizar MySQLi, defina as variáveis de ambiente da seguinte forma:
Passo 1: Configure as variáveis de ambiente no arquivo .env
:
DB_CONNECTION_METHOD=mysqli
DB_CONNECTION=mysql
Explore mais sobre MySQLi na documentação do PHP: Documentação do PHP - MySQLi
Estes passos detalhados facilitam a configuração de cada ORM ou driver de banco de dados com o Lithe, permitindo que você escolha e configure o método de conexão mais adequado para sua aplicação.
Inicialização da Conexão
Após configurar o arquivo .env
com as variáveis necessárias para conexão ao banco de dados, o Lithe utiliza a classe Manager
para carregar essas configurações e estabelecer a conexão correspondente.
\Lithe\Database\Manager
e o Método initialize
Classe A classe Manager
no Lithe é um componente responsável por gerenciar as operações de conexão com o banco de dados. Ela oferece um método crucial chamado initialize
, que inicializa e retorna a conexão configurada, pronta para ser utilizada pela aplicação.
O método initialize
prepara e estabelece a conexão conforme configurado pelas variáveis de ambiente. Isso inclui definir o tipo de conexão (eloquent
, pdo
, mysqli
) e os detalhes específicos do banco de dados (como host, nome do banco de dados, usuário e senha).
initialize
Usando o Método No arquivo src/database/config/database.php
, o método initialize
já é chamado por padrão para configurar a conexão com o banco de dados:
use Lithe\Database\Manager as DB;
return DB::initialize();
Este método retorna a conexão configurada, pronta para ser utilizada pela aplicação. É essencial que ele esteja presente e seja chamado para garantir que a conexão esteja disponível para operações como migrações de banco de dados.
Utilização na Aplicação
Após inicializar a conexão utilizando o método estático initialize()
da classe Manager
, a conexão configurada estará disponível através da constante DB_CONNECTION
. Isso permite que você execute consultas e operações de banco de dados de maneira eficiente e segura.
Utilizando Eloquent para consultas:
use Illuminate\Database\Capsule\Manager as Database;
$users = Database::table('users')->get();
Utilizando métodos convencionais com PDO:
$pdo = DB_CONNECTION;
$users = $pdo->query('SELECT * FROM users')->fetchAll(PDO::FETCH_ASSOC);
Essa abordagem facilita a integração do Lithe com diferentes tecnologias de banco de dados, proporcionando flexibilidade e eficiência no desenvolvimento de aplicações web.
Configuração de Outros ORMs ou Drivers
Para utilizar outros ORMs ou drivers de banco de dados com o Lithe, você pode configurá-los de forma flexível utilizando o método estático configure
da classe Lithe\Database\Manager
no arquivo src/database/config/database.php
. Este método permite adicionar novas configurações de conexão de forma personalizada.
configure
Estrutura do Método O método configure
recebe dois parâmetros:
-
Nome da Configuração: Um identificador único para sua configuração, que será utilizado posteriormente para referenciar esta conexão.
-
Callback de Configuração: Uma função de callback que recebe um array de configuração como parâmetro. Dentro do callback, você pode definir e retornar a instância configurada do seu ORM ou driver de banco de dados.
Configuração Personalizada
No arquivo src/database/config/database.php
, adicione uma configuração personalizada da seguinte maneira:
use Lithe\Database\Manager as DB;
DB::configure('my_custom_orm', function ($config) {
// Configuração específica para o seu ORM ou driver
return new MyCustomORM([
'driver' => $config['driver'],
'host' => $config['host'],
'database' => $config['name'],
'username' => $config['username'],
'password' => $config['password'],
]);
});
No exemplo acima, my_custom_orm
é o nome da configuração que você está criando. O callback recebe um array $config
contendo os detalhes da conexão (como tipo de conexão, host, nome do banco de dados, nome de usuário e senha), que são utilizados para inicializar e retornar a instância do seu ORM ou driver de banco de dados personalizado.
Integração com Variáveis de Ambiente
Após configurar o método configure
no arquivo database.php
, você precisa associar os detalhes específicos do banco de dados às variáveis de ambiente no arquivo .env
.
DB_CONNECTION_METHOD=my_custom_orm
DB_CONNECTION=mysql
DB_HOST=localhost
DB_NAME=my_database
DB_USERNAME=root
DB_PASSWORD=
Após configurar o .env
, o Lithe automaticamente carregará essas variáveis de ambiente durante a inicialização da aplicação. A classe Manager
do Lithe utilizará essas configurações para inicializar e estabelecer a conexão com o banco de dados conforme configurado.
Este processo garante que a configuração definida no método configure
seja utilizada de forma integrada com as variáveis de ambiente, proporcionando flexibilidade e gerenciamento eficiente das conexões personalizadas no seu projeto Lithe.
Resolução de Problemas
Se encontrar dificuldades ao conectar-se ao banco de dados:
- Verifique se as configurações e variáveis de ambiente estão corretas.
- Confira possíveis erros de sintaxe em suas consultas ou código SQL.
O Lithe oferece uma abordagem simples e flexível para gerenciar conexões com diversos bancos de dados e ORMs, facilitando o desenvolvimento de aplicações robustas.