CRUD básico com Codeigniter 4
O CodeIgniter 4 é um #framework #PHP leve e poderoso que facilita o #desenvolvimento de aplicativos #web .
Encontre cursos de codeigniter4 na Udemy
Abaixo um exemplo básico de como criar um CRUD (Create, Read, Update, Delete) usando o CodeIgniter 4.
- Configuração inicial:
- Acesse https://codeigniter.com, baixe e instale o #CodeIgniter 4 em seu ambiente de desenvolvimento.
- Configure as informações de conexão do banco de dados com as credenciais de acesso no arquivo
app/Config/Database.php
.
- Criação do Banco de Dados:
- Crie um banco de dados #MySQL e uma tabela chamada
users
.
SugestãoCREATE TABLE `users` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(100) DEFAULT NULL, `email` varchar(100) DEFAULT NULL, `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE KEY `nome_unico` (`email`) USING BTREE ) ENGINE=MyISAM AUTO_INCREMENT=20 DEFAULT CHARSET=utf8mb4
- A tabela
users
deve ter as colunasid
(chave primária, autoincremento),name
,email
ecreated_at
.
- Model:
- Crie um novo arquivo
UsersModel.php
emapp/Models/
com o seguinte código:
<?php
namespace App\Models;
use CodeIgniter\Model;
class UsersModel extends Model
{
protected $table = 'users';
protected $primaryKey = 'id';
protected $allowedFields = ['name', 'email', 'created_at'];
}
- Controller:
- Crie um novo arquivo
Users.php
emapp/Controllers/
com o seguinte código:
<?php
namespace App\Controllers;
use App\Models\UsersModel;
class Users extends BaseController
{
public function index()
{
$model = new UsersModel();
$data['users'] = $model->findAll();
return view('users/index', $data);
}
public function create()
{
return view('users/create');
}
public function store()
{
$model = new UsersModel();
$data = [
'name' => $this->request->getPost('name'),
'email' => $this->request->getPost('email'),
'created_at' => date('Y-m-d H:i:s')
];
$model->insert($data);
return redirect()->to('/users');
}
public function edit($id)
{
$model = new UsersModel();
$data['user'] = $model->find($id);
return view('users/edit', $data);
}
public function update($id)
{
$model = new UsersModel();
$data = [
'name' => $this->request->getPost('name'),
'email' => $this->request->getPost('email')
];
$model->update($id, $data);
return redirect()->to('/users');
}
public function delete($id)
{
$model = new UsersModel();
$model->delete($id);
return redirect()->to('/users');
}
}
- Views:
-
Crie os arquivos de visualização em
app/Views/users/
para exibir o CRUD: -
index.php
(exibe a lista de usuários):
<table>
<thead>
<tr>
<th>Name</th>
<th>Email</th>
<th>Created At</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php foreach ($users as $user) : ?>
<tr>
<td><?= $user['name'] ?></td>
<td><?= $user['email'] ?></td>
<td><?= $user['created_at'] ?></td>
<td>
<a href="<?= site_url('users/edit/' . $user['id']) ?>">Edit</a>
<a href="<?= site_url('users/delete/' . $user['id']) ?>">Delete</a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
create.php
(exibe o formulário de criação de usuário):
<form action="<?= site_url('users/store') ?>" method="post">
<input type="text" name="name" placeholder="Name">
<input type="email" name="email" placeholder="Email">
<button type="submit">Create</button>
</form>
- Rotas:
- Configure as rotas em
app/Config/Routes.php
adicionando as seguintes linhas:
$routes->get('users', 'Users::index');
$routes->get('users/create', 'Users::create');
$routes->post('users/store', 'Users::store');
$routes->get('users/edit/(:num)', 'Users::edit/$1');
$routes->post('users/update/(:num)', 'Users::update/$1');
$routes->get('users/delete/(:num)', 'Users::delete/$1');
Este exemplo básico demonstra como criar um CRUD usando o CodeIgniter 4. Através do model UsersModel
, você pode interagir com o banco de dados para realizar as operações de criar, ler, atualizar e deletar registros na tabela users
. Os métodos no controller Users
lidam com as requisições e renderizam as views apropriadas. Lembre-se de ajustar e expandir esse exemplo conforme suas necessidades específicas.
Compartilhe este artigo: