Laravel.Education
Acme Inc.

Automatizando a Refatoração de Código em Laravel com Rector

08/08/2025

tags:

A qualidade e a manutenibilidade do código são aspectos cruciais no desenvolvimento de software moderno. Neste post, vou mostrar como configurar o Rector para automatizar a refatoração de código em um projeto Laravel, combinado com um fluxo de trabalho CI/CD simplificado usando GitHub Actions.

O que é Rector?

Rector é uma ferramenta de refatoração PHP poderosa que automatiza atualizações tediosas e melhorias na qualidade do código. Se você está migrando para uma nova versão do PHP, atualizando seu framework Laravel ou garantindo que seu código atenda aos padrões modernos, o Rector simplifica essas tarefas com o mínimo de esforço manual.

Por que usar Rector no seu projeto Laravel?

  1. Automatiza Atualizações: Mantenha sua base de código compatível com as versões mais recentes do Laravel ou PHP.
  2. Melhora a Qualidade do Código: Aplica regras para limpar e otimizar seu código automaticamente.
  3. Economiza Tempo: Refatora o código em minutos, permitindo que os desenvolvedores se concentrem na lógica de negócios.

Configurando Rector no seu projeto Laravel

Passo 1: Instale o Rector e as regras específicas do Laravel

Instale o Rector e sua extensão Laravel usando Composer:

composer require rector/rector --dev
composer require driftingly/rector-laravel --dev

Passo 2: Configure o Rector

Crie um arquivo de configuração rector.php na raiz do seu projeto. Abaixo está um exemplo de configuração adaptado para projetos Laravel:

<?php

declare(strict_types=1);

use Rector\Config\RectorConfig;
use RectorLaravel\Set\LaravelLevelSetList;

return static function (RectorConfig $rectorConfig): void {
    $rectorConfig->paths([
        __DIR__.'/app',
        __DIR__.'/config',
        __DIR__.'/database',
        __DIR__.'/resources',
        __DIR__.'/routes',
        __DIR__.'/tests',
    ]);

    $rectorConfig->sets([
        LaravelLevelSetList::UP_TO_LARAVEL_110,
    ]);
};

Passo 3: Teste o Rector localmente

Execute o Rector localmente para garantir que tudo está configurado corretamente:

vendor/bin/rector process --dry-run --ansi

O flag --dry-run visualiza as alterações sem modificar os arquivos.

Automatizando o Rector com GitHub Actions

Para manter sua base de código Laravel refatorada e atualizada automaticamente, vamos configurar um fluxo de trabalho do GitHub Actions.

Passo 1: Crie um arquivo de fluxo de trabalho do GitHub

Adicione um arquivo .github/workflows/rector.yml ao seu repositório:

name: Rector CI

on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - '*'

jobs:
  rector:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout repository
      uses: actions/checkout@v3

    - name: Set up PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: 8.3

    - name: Install dependencies
      run: composer install --no-progress --no-suggest --prefer-dist

    - name: Run Rector
      run: vendor/bin/rector process --ansi

Conclusão

Com Rector e GitHub Actions, seu projeto Laravel permanece moderno, limpo e sustentável. Esta configuração automatizada economiza horas de refatoração manual, mantendo sua base de código alinhada com os padrões mais recentes. Pronto para implementar o Rector em seu projeto? Deixe-me saber como vai ou sinta-se à vontade para compartilhar sua experiência!

Feliz codificação! 🚀