O CodeIgniter 4 é um #framework #PHP leve e poderoso que facilita o #desenvolvimento de aplicativos #web.
Abaixo um exemplo básico de como criar um CRUD (Create, Read, Update, Delete) usando o CodeIgniter 4.
app/Config/Database.php
.users
.
CREATE 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
users
deve ter as colunas id
(chave primária, autoincremento), name
, email
e created_at
.UsersModel.php
em app/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'];
}
Users.php
em app/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');
}
}
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>
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.