Como Instalar e Usar o Eloquent em um Projeto PHP: Exemplo de instalação e uso com a base Sakila

Postado Por:

Categoria:

Postado em:

Como Instalar e Usar o Eloquent em um Projeto PHP: Exemplo de instalação e uso com a base Sakila

Introdução

Eloquent é o ORM (Object-Relational Mapping) do framework Laravel, mas pode ser usado independentemente em qualquer projeto PHP. Ele facilita a interação com o banco de dados ao permitir que você trabalhe com modelos de objetos em vez de escrever SQL diretamente. Neste tutorial, vamos instalar o Eloquent em um projeto PHP do zero e usá-lo com a base de dados Sakila, uma base de exemplo muito utilizada para fins educativos.

Passo 1: Configurando o Projeto PHP

1.1. Criando o Projeto

Primeiro, crie um novo diretório para o seu projeto e navegue até ele:

.porto-u-8592.porto-u-heading{text-align:left}
mkdir projeto_eloquent_sakila
cd projeto_eloquent_sakila
1.2. Inicializando o Composer

Inicie um novo projeto com o Composer:

.porto-u-8312.porto-u-heading{text-align:left}
composer init

Siga as instruções para configurar o composer.json.

Passo 2: Instalando o Eloquent ORM

2.1. Adicionando o Eloquent como Dependência

Adicione o Eloquent ao seu projeto através do Composer:

.porto-u-6007.porto-u-heading{text-align:left}
composer require illuminate/database
2.2. Configurando o Eloquent

Agora, vamos configurar o Eloquent no seu projeto. Crie um arquivo chamado database.php no diretório raiz do projeto para configurar a conexão com o banco de dados:

.porto-u-5856.porto-u-heading{text-align:left}
<?php

use Illuminate\Database\Capsule\Manager as Capsule;

require 'vendor/autoload.php';

$capsule = new Capsule;

$capsule->addConnection([
    'driver'    => 'mysql',
    'host'      => '127.0.0.1',
    'database'  => 'sakila',
    'username'  => 'root', // Coloque seu usuário do MySQL
    'password'  => '',     // Coloque sua senha do MySQL
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
]);

$capsule->setAsGlobal();
$capsule->bootEloquent();
2.3. Importando a Base de Dados Sakila

Se ainda não tem a base de dados Sakila, você pode baixá-la e importá-la no MySQL através dos seguintes comandos:

  1. Baixe a base de dados Sakila aqui.

  2. Importe o arquivo SQL para o MySQL:

.porto-u-3429.porto-u-heading{text-align:left}
mysql -u root -p < caminho/para/sakila-schema.sql
mysql -u root -p sakila < caminho/para/sakila-data.sql

Passo 3: Usando o Eloquent com a Base de Dados Sakila

3.1. Criando um Modelo Eloquent

Vamos criar um modelo para a tabela film da base Sakila. Crie um arquivo chamado Film.php no diretório app/Models:

.porto-u-2424.porto-u-heading{text-align:left}
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Film extends Model
{
    protected $table = 'film';
    protected $primaryKey = 'film_id';
    public $timestamps = false;
}
3.2. Consultando Dados com Eloquent

Agora, vamos criar um arquivo index.php no diretório raiz do projeto para consultar alguns dados da tabela film:

.porto-u-1463.porto-u-heading{text-align:left}
<?php

require 'database.php';

use App\Models\Film;

// Recupera todos os filmes
$films = Film::all();

foreach ($films as $film) {
    echo $film->title . "<br>";
}
3.3. Inserindo Dados com Eloquent

Para inserir um novo filme, adicione o seguinte código no index.php:

.porto-u-6886.porto-u-heading{text-align:left}
$newFilm = new Film();
$newFilm->title = 'New Movie';
$newFilm->description = 'An awesome new movie';
$newFilm->release_year = 2024;
$newFilm->save();

echo "Filme adicionado com sucesso!";
3.4. Atualizando Dados com Eloquent

Para atualizar um registro existente, você pode fazer o seguinte:

.porto-u-8885.porto-u-heading{text-align:left}
$film = Film::find(1);
$film->title = 'Updated Movie Title';
$film->save();

echo "Filme atualizado com sucesso!";
3.5. Deletando Dados com Eloquent

Para deletar um registro:

.porto-u-2418.porto-u-heading{text-align:left}
$film = Film::find(1);
$film->delete();

echo "Filme deletado com sucesso!";

Conclusão

Eloquent facilita muito a interação com bancos de dados em projetos PHP, permitindo que você trabalhe de forma mais intuitiva com dados sem precisar escrever SQL diretamente. Neste post, mostramos como instalar e configurar o Eloquent, além de realizar operações básicas como leitura, inserção, atualização e deleção de registros, utilizando a base de dados Sakila como exemplo.

Referências

Este conteúdo será uma ótima adição ao seu curso PHP, proporcionando aos seus alunos uma compreensão prática de como utilizar um ORM como Eloquent para interagir com bancos de dados de forma eficiente.

.porto-u-7566.porto-u-heading{text-align:left}

Deixe seu comentário

Posts RELACIONADOS