Rector langsung meningkatkan dan memfaktorkan ulang kode PHP aplikasi Anda. Ini dapat membantu Anda dalam 2 bidang utama:
Rector sekarang mendukung peningkatan dari PHP 5.3 ke 8.4 dan proyek sumber terbuka besar seperti Symfony, PHPUnit, dan Doctrine. Apakah Anda ingin selalu menggunakan PHP dan Framework terbaru tanpa susah payah ?
Gunakan Rektor untuk menangani peningkatan instan untuk Anda.
Apakah Anda memiliki kualitas kode yang dibutuhkan, tetapi kesulitan mempertahankannya dengan pengembang baru di tim Anda? Apakah Anda ingin melihat tinjauan kode cerdas bahkan ketika semua pengembang senior sedang tidur?
Tambahkan Rector ke CI Anda dan biarkan Rector terus memfaktorkan ulang kode Anda dan menjaga kualitas kode tetap tinggi.
Baca postingan blog kami untuk mengetahui cara menyiapkan pemfaktoran ulang otomatis.
composer require rector/rector --dev
Ada 2 cara utama menggunakan Rector:
Untuk menggunakannya, buat rector.php
di direktori root Anda:
vendor/bin/rector
Dan modifikasi:
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
);
Kemudian keringanan Rektor:
vendor/bin/rector process src --dry-run
Rektor akan menunjukkan kepada Anda perbedaan file yang akan diubah. Untuk melakukan perubahan, hapus --dry-run
:
vendor/bin/rector process src
Penasaran bagaimana cara kerja Rektor secara internal, bagaimana cara membuat peraturan sendiri dan mengujinya serta mengapa Rektor lahir? Baca Rector - Kekuatan Refactoring Otomatis yang akan membawa Anda langkah demi langkah melalui pengaturan Rector dan cara membuat aturan Anda sendiri.
Komunitas Rektor menjadi kuat berkat pengelola aktif yang menangani set Rektor untuk proyek tertentu.
Di antara proyek-proyek tersebut adalah:
Rector adalah alat yang kami kembangkan dan bagikan secara gratis, sehingga siapa pun dapat mengotomatiskan pemfaktoran ulangnya. Namun tidak semua orang memiliki waktu puluhan jam untuk memahami kompleksitas pohon sintaksis abstrak dalam waktu mereka sendiri. Itu sebabnya kami memberikan dukungan komersial - untuk menghemat waktu Anda .
Apakah Anda ingin menerapkan Rektor pada basis kode Anda tetapi tidak punya waktu untuk mengerjakan proyek Anda? Pekerjakan kami untuk sampai ke sana lebih cepat.
Lihat panduan kontribusi atau buka repositori pengembangan rector/rector-src.
Anda dapat menggunakan opsi --debug
, yang akan mencetak keluaran pengecualian bersarang:
vendor/bin/rector process src/Controller --dry-run --debug
Atau dengan Xdebug:
--xdebug
saat menjalankan Rektor vendor/bin/rector process src/Controller --dry-run --xdebug
Untuk membantu proses debug sederhana, Rektor menyediakan 2 pembantu untuk mencetak node AST dengan cantik:
use PhpParser Node Scalar String_ ;
$ node = new String_ ( ' hello world! ' );
// prints node to string, as PHP code displays it
print_node ( $ node );
Rektor menggunakan nikic/php-parser, dibangun di atas teknologi yang disebut pohon sintaksis abstrak (AST). AST tidak mengetahui spasi dan ketika ditulis ke file, AST menghasilkan kode dengan format buruk dalam anotasi PHP dan docblock.
Rektor dalam mode paralel akan bekerja sebagian besar waktu untuk sebagian besar OS. Di Windows, Anda mungkin mengalami masalah yang tidak dapat diselesaikan meskipun telah mengikuti panduan Pemecahan Masalah Paralel. Jika demikian, periksa apakah Anda menggunakan Powershell 7 (pwsh). Ubah terminal Anda menjadi command prompt (cmd) atau bash untuk Windows.
Proyek Anda perlu memiliki alat standar pengkodean dan seperangkat aturan pemformatan, sehingga dapat membuat kode keluaran Rektor bagus dan berkilau kembali.
Kami menggunakan ECS dengan pengaturan ini.
Saat Anda menerapkan perubahan pada file dengan konten PHP + HTML, Anda mungkin perlu memverifikasi file yang diubah secara manual setelah menerapkan perubahan.