O Rector atualiza e refatora instantaneamente o código PHP do seu aplicativo. Ele pode ajudá-lo em 2 áreas principais:
Rector agora suporta atualizações do PHP 5.3 para 8.4 e grandes projetos de código aberto como Symfony, PHPUnit e Doctrine. Você quer estar constantemente atualizado com o PHP e o Framework mais recentes sem esforço ?
Use o Rector para lidar com atualizações instantâneas para você.
Você tem a qualidade de código necessária, mas luta para mantê-la com novos desenvolvedores em sua equipe? Você quer ver revisões de código inteligentes mesmo quando todos os desenvolvedores seniores dormem?
Adicione Rector ao seu CI e deixe-o refatorar continuamente seu código e manter a alta qualidade do código.
Leia nossa postagem no blog para ver como configurar a refatoração automatizada.
composer require rector/rector --dev
Existem 2 maneiras principais de usar o Rector:
Para usá-los, crie um rector.php
em seu diretório raiz:
vendor/bin/rector
E modifique-o:
use Rector Config RectorConfig ;
use Rector TypeDeclaration Rector Property TypedPropertyFromStrictConstructorRector ;
return RectorConfig:: configure ()
// register single rule
-> withRules ([
TypedPropertyFromStrictConstructorRector::class
])
// here we can define, what prepared sets of rules will be applied
-> withPreparedSets (
deadCode: true ,
codeQuality: true
);
Em seguida, execute o teste do Reitor:
vendor/bin/rector process src --dry-run
O Rector mostrará a diferença de arquivos que seriam alterados. Para fazer as alterações, solte --dry-run
:
vendor/bin/rector process src
Você está curioso para saber como o Rector funciona internamente, como criar suas próprias regras e testá-las e por que o Rector nasceu? Leia Rector – O poder da refatoração automatizada que o guiará passo a passo pela configuração do Rector e como criar suas próprias regras.
A comunidade Rector é poderosa graças aos mantenedores ativos que cuidam dos conjuntos Rector para projetos específicos.
Entre esses projetos pertencem:
Rector é uma ferramenta que desenvolvemos e compartilhamos gratuitamente, para que qualquer pessoa possa automatizar sua refatoração. Mas nem todo mundo tem dezenas de horas para entender a complexidade da árvore de sintaxe abstrata em seu próprio tempo. É por isso que oferecemos suporte comercial – para economizar seu tempo .
Você gostaria de aplicar o Rector em sua base de código, mas não tem tempo para se preocupar com seu projeto? Contrate-nos para chegar mais rápido.
Veja o guia de contribuição ou vá para o repositório de desenvolvimento rector/rector-src.
Você pode usar a opção --debug
, que imprimirá a saída de exceções aninhadas:
vendor/bin/rector process src/Controller --dry-run --debug
Ou com Xdebug:
--xdebug
ao executar o Rector vendor/bin/rector process src/Controller --dry-run --xdebug
Para ajudar na depuração simples, o Rector fornece 2 ajudantes para imprimir nós AST de forma bonita:
use PhpParser Node Scalar String_ ;
$ node = new String_ ( ' hello world! ' );
// prints node to string, as PHP code displays it
print_node ( $ node );
O Rector usa o analisador nikic/php, baseado em uma tecnologia chamada árvore de sintaxe abstrata (AST). Um AST não conhece espaços e quando gravado em um arquivo produz código mal formatado em anotações PHP e docblock.
O Rector em modo paralelo funcionará na maioria das vezes para a maioria dos sistemas operacionais. No Windows, você pode encontrar problemas insolúveis, apesar de seguir o guia Paralela de solução de problemas. Nesse caso, verifique se você está usando Powershell 7 (pwsh). Mude seu terminal para prompt de comando (cmd) ou bash para Windows.
Seu projeto precisa ter uma ferramenta padrão de codificação e um conjunto de regras de formatação, para que possa tornar o código de saída do Rector bonito e brilhante novamente.
Estamos usando o ECS com esta configuração.
Ao aplicar alterações em arquivos com conteúdo PHP + HTML, pode ser necessário verificar manualmente o arquivo alterado após aplicar as alterações.