Modernização de código PHP legado para padrões atuais (PHP 7.4-8.3). Usar para converter código procedural para OOP, atualizar sintaxe deprecated, implementar type hints, substituir arrays por objetos/collections, modernizar callbacks para closures/arrow functions, converter globals para dependency injection, e preparar código para migração de frameworks.
Skill para transformação de código PHP legado em código moderno e maintainable.
// ❌ ANTES: PHP 5.x
function getUser($id) {
global $db;
$result = mysql_query("SELECT * FROM users WHERE id = " . $id);
if ($result) {
return mysql_fetch_assoc($result);
}
return false;
}
// ✅ DEPOIS: PHP 8.x
function getUser(int $id): ?array
{
return DB::table('users')->find($id)?->toArray();
}
// ❌ ANTES
function calcularTotal($items, $desconto) {
$total = 0;
foreach ($items as $item) {
$total += $item['valor'];
}
return $total - $desconto;
}
// ✅ DEPOIS
function calcularTotal(array $items, float $desconto = 0): float
{
$total = array_sum(array_column($items, 'valor'));
return max(0, $total - $desconto);
}
// ✅ MELHOR: Com objetos
function calcularTotal(Collection $items, float $desconto = 0): float
{
return max(0, $items->sum('valor') - $desconto);
}
// ❌ ANTES: Funções soltas
function criar_contrato($dados) { ... }
function atualizar_contrato($id, $dados) { ... }
function buscar_contrato($id) { ... }
function listar_contratos($filtros) { ... }
// ✅ DEPOIS: Service Class
class ContractService
{
public function __construct(
private ContractRepository $repository,
private EventDispatcher $events
) {}
public function create(array $data): Contract
{
$contract = $this->repository->create($data);
$this->events->dispatch(new ContractCreated($contract));
r...