Rector จะอัปเกรดและปรับโครงสร้างโค้ด PHP ของแอปพลิเคชันของคุณทันที สามารถช่วยคุณได้ 2 ด้านหลัก:
ขณะนี้ Rector รองรับการอัปเกรดจาก PHP 5.3 เป็น 8.4 และโปรเจ็กต์โอเพ่นซอร์สหลักๆ เช่น Symfony, PHPUnit และ Doctrine คุณต้องการที่ จะใช้ PHP และ Framework ล่าสุดอย่างต่อเนื่องโดยไม่ต้องใช้ความพยายามหรือไม่ ?
ใช้ Rector เพื่อจัดการ การอัพเกรดทันที สำหรับคุณ
คุณมีโค้ดที่มีคุณภาพที่ต้องการ แต่มีปัญหาในการรักษาไว้กับนักพัฒนาใหม่ในทีมของคุณหรือไม่? คุณต้องการดูการตรวจสอบโค้ดอัจฉริยะแม้ในขณะที่นักพัฒนาอาวุโสทุกคนหลับหรือไม่?
เพิ่ม Rector ให้กับ CI ของคุณ และปล่อยให้มัน ปรับโครงสร้างโค้ดของคุณใหม่อย่างต่อเนื่อง และรักษาคุณภาพของโค้ดให้อยู่ในระดับสูง
อ่านบล็อกโพสต์ของเราเพื่อดูวิธีตั้งค่าการปรับโครงสร้างใหม่อัตโนมัติ
composer require rector/rector --dev
การใช้ Rector มี 2 วิธีหลัก:
หากต้องการใช้งาน ให้สร้าง rector.php
ในไดเร็กทอรีรากของคุณ:
vendor/bin/rector
และแก้ไข:
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
);
จากนั้นจึงดำเนินการแบบแห้ง อธิการบดี:
vendor/bin/rector process src --dry-run
Rector จะแสดงให้คุณเห็นถึงความแตกต่างของไฟล์ที่ จะ เปลี่ยนแปลง หาก ต้องการ เปลี่ยนแปลง ให้ปล่อย --dry-run
:
vendor/bin/rector process src
คุณสงสัยหรือไม่ว่า Rector ทำงานอย่างไรภายใน วิธีสร้างกฎของคุณเองและทดสอบ และเหตุใด Rector จึงถือกำเนิด อ่าน Rector - พลังของการปรับโครงสร้างอัตโนมัติที่จะพาคุณไปทีละขั้นตอนผ่านการตั้งค่า Rector และวิธีสร้างกฎของคุณเอง
ชุมชน Rector มีพลังมากเนื่องจากมีผู้ดูแลที่กระตือรือร้นซึ่งคอยดูแลชุด Rector สำหรับโครงการเฉพาะ
ในบรรดาโครงการดังกล่าวเป็นของ:
Rector เป็นเครื่องมือที่เราพัฒนาและแชร์ฟรี ดังนั้นใครๆ ก็สามารถปรับโครงสร้างใหม่ได้โดยอัตโนมัติ แต่ไม่ใช่ทุกคนที่มีเวลาหลายสิบชั่วโมงในการทำความเข้าใจความซับซ้อนของ abstract-syntax-tree ในเวลาของตนเอง นั่นเป็นเหตุผลที่เราให้การสนับสนุนเชิงพาณิชย์ - เพื่อประหยัดเวลาของคุณ
คุณต้องการใช้ Rector กับโค้ดของคุณแต่ไม่มีเวลาต่อสู้กับโปรเจ็กต์ของคุณหรือไม่? จ้างเราให้ไปถึงที่นั่นเร็วขึ้น
ดูคู่มือการสนับสนุนหรือไปที่ Repository Repository Rector/rector-src
คุณสามารถใช้ตัวเลือก --debug
ที่จะพิมพ์เอาต์พุตข้อยกเว้นแบบซ้อน:
vendor/bin/rector process src/Controller --dry-run --debug
หรือด้วย Xdebug:
--xdebug
เมื่อรัน Rector vendor/bin/rector process src/Controller --dry-run --xdebug
เพื่อช่วยในการดีบักอย่างง่าย Rector ได้จัดเตรียมตัวช่วย 2 ตัวในการพิมพ์โหนด AST ที่สวยงาม:
use PhpParser Node Scalar String_ ;
$ node = new String_ ( ' hello world! ' );
// prints node to string, as PHP code displays it
print_node ( $ node );
อธิการบดีใช้ nikic/php-parser ซึ่งสร้างขึ้นจากเทคโนโลยีที่เรียกว่า abstract syntax tree (AST) AST ไม่ทราบเกี่ยวกับช่องว่าง และเมื่อเขียนลงในไฟล์ AST จะสร้างโค้ดที่มีรูปแบบไม่ดีทั้งในคำอธิบายประกอบ PHP และ docblock
Rector ในโหมดขนานจะทำงานเกือบตลอดเวลาสำหรับระบบปฏิบัติการส่วนใหญ่ บน Windows คุณอาจประสบปัญหาที่ไม่สามารถแก้ไขได้แม้จะทำตามคำแนะนำการแก้ไขปัญหาแบบขนานก็ตาม ในกรณีเช่นนี้ ให้ตรวจสอบว่าคุณใช้ Powershell 7 (pwsh) หรือไม่ เปลี่ยนเทอร์มินัลของคุณเป็น command prompt (cmd) หรือทุบตีสำหรับ Windows
โปรเจ็กต์ของคุณจำเป็นต้องมีเครื่องมือมาตรฐานการเขียนโค้ด และชุดกฎการจัดรูปแบบ ดังนั้นจึงสามารถทำให้โค้ดเอาต์พุตของ Rector สวยงามและเงางามได้อีกครั้ง
เรากำลังใช้ ECS กับการตั้งค่านี้
เมื่อคุณใช้การเปลี่ยนแปลงกับไฟล์ที่มีเนื้อหา PHP + HTML คุณอาจต้องตรวจสอบไฟล์ที่เปลี่ยนแปลงด้วยตนเองหลังจากใช้การเปลี่ยนแปลง