Modelos
Os modelos no Lithe representam a camada de acesso aos dados da aplicação. Eles encapsulam a lógica de negócios e a interação com o banco de dados, oferecendo uma abstração para realizar consultas e manipulações nos dados.
Criando Modelos
No Lithe, modelos são criados utilizando o comando Line make:model
. Este comando cria um arquivo de modelo dentro do diretório src/models/
.
php line make:model NomeDoModelo --template=eloquent
Onde:
NomeDoModelo
: Nome do modelo a ser criado.--template=Template
: Opcional. Define o template a ser usado para gerar o modelo. Caso não especificado, será usado o template definido na variável de ambienteDB_CONNECTION_METHOD
.
Templates de Modelo
O Lithe suporta diferentes templates para modelos, adaptados para diferentes ORMs ou abordagens de banco de dados:
- eloquent: Template para modelos utilizando o ORM Eloquent.
- plain: Template padrão para modelos customizados ou genéricos.
Arquivo de Modelo
Para modelos sem um ORM específico, você pode utilizar o template padrão e implementar a lógica do modelo conforme necessário:
namespace App\Models;
class User
{
public $id;
public $name;
public $email;
// Your model logic goes here
}
Utilização Automática de Modelos
No Lithe, os modelos localizados em src/models/
são automaticamente disponibilizados para uso em toda a aplicação, sem a necessidade de importação explícita nos seus arquivos.
Suponha que você tenha um modelo Eloquent User
definido em src/models/User.php
. Você pode utilizá-lo diretamente em suas rotas sem necessidade de qualquer inclusão manual:
use App\Models\User;
$app->get('/users/:id=int', function ($req, $res) {
$id = $req->param('id');
// Exemplo de uso do modelo User com Eloquent
$user = User::find($id);
if (!$user) {
$res->status(404)->json(['error' => 'Usuário não encontrado']);
}
// Retorna os dados do usuário como JSON, por exemplo
$res->json($user);
});
Dessa forma, os modelos são carregados dinamicamente e estão prontos para serem utilizados em suas rotas, proporcionando uma integração simplificada e eficiente com o banco de dados.
Os modelos no Lithe são essenciais para a organização e interação com os dados da aplicação, oferecendo flexibilidade e abstração para trabalhar com diferentes ORMs ou lógicas de banco de dados.