แพ็คเกจนี้ขยาย Grumphp ด้วยงานที่เรียกใช้ Rectorphp สำหรับโครงการ Laravel ของคุณหรือแอปพลิเคชัน PHP ใด ๆ
โปรดทราบว่าเราได้เพิ่มตัวเลือก --dry-run ดังนั้นซอร์สโค้ดจะไม่เปลี่ยนแปลง
วิธีที่ง่ายที่สุดในการติดตั้งแพ็คเกจนี้คือผ่านนักแต่งเพลง:
composer require --dev palpalani/grumphp-rector-task
เพิ่มตัวโหลดส่วนขยายไปยัง grumphp.yml หรือ grumphp.yml.dist ของคุณ งานอยู่ภายใต้เนมสเปซของ rector และมีพารามิเตอร์ที่กำหนดค่าได้ตามที่กำหนดค่าได้:
# grumphp.yml
grumphp :
tasks :
rector :
whitelist_patterns : []
config : ' rector.php '
triggered_by : ['php']
clear-cache : false
ignore_patterns : []
no-progress-bar : false
files_on_pre_commit : false
paths : []
no_diffs : false
extensions :
- palPalaniGrumPhpRectorTaskExtensionLoaderโดยค่าเริ่มต้นสิ่งนี้จะไม่อัปเดตรหัสของคุณคุณต้องทำด้วยตนเอง
Default: []
หากคุณต้องการเรียกใช้ในไดเรกทอรีเฉพาะเท่านั้นให้ระบุด้วยตัวเลือกนี้
Default: 'rector.php'
หากคุณต้องการใช้ไฟล์ config ที่แตกต่างจาก rector.php เริ่มต้นคุณสามารถระบุตำแหน่งไฟล์กำหนดค่าที่กำหนดเองของคุณด้วยตัวเลือกนี้
Default: [php]
ตัวเลือกนี้จะระบุว่าส่วนขยายไฟล์ใดจะทริกเกอร์งานนี้
Default: false
ล้างแคชสำหรับไฟล์ที่ตรวจสอบแล้ว
Default: false
ซ่อนแถบความคืบหน้า มีประโยชน์เช่นสำหรับเอาต์พุต CI ที่ดีกว่า
Default: false
ตัวเลือกนี้ทำให้สามารถใช้ไฟล์ที่เปลี่ยนแปลงเป็นพา ธ ในระหว่างการคอมมิชชั่นล่วงหน้า มันจะใช้ตัวเลือก PATHS เพื่อให้แน่ใจว่าเฉพาะไฟล์ที่ตรงกับที่ตรงกับเส้นทางจะได้รับการตรวจสอบแล้ว
Default: false
สร้าง rector.php ในรูทโครงการของคุณและกำหนดค่าดังต่อไปนี้ ไฟล์ตัวอย่างนี้ใช้สำหรับโครงการ Laravel ของฉัน แต่คุณสามารถใช้ห้องสมุดกับโครงการ PHP ใด ๆ นอกจากนี้คุณไม่จำเป็นต้องตั้งค่าการตั้งค่าเหล่านี้ทั้งหมดโปรดเพิ่มหรือลบตามความต้องการของคุณ
<?php
declare (strict_types= 1 );
use Rector Core Configuration Option ;
use Rector Set ValueObject SetList ;
use Rector CodeQuality Rector If_ SimplifyIfReturnBoolRector ;
use Rector Config RectorConfig ;
use Rector Php74 Rector Property TypedPropertyRector ;
use Rector CodeQuality Rector Isset_ IssetOnPropertyObjectToPropertyExistsRector ;
return static function ( RectorConfig $ rectorConfig ): void {
$ rectorConfig -> parallel ();
$ rectorConfig -> paths ([
__DIR__ . ' /app ' ,
__DIR__ . ' /config ' ,
__DIR__ . ' /database ' ,
__DIR__ . ' /tests '
__DIR__ . ' /routes ' ,
]);
$ rectorConfig -> skip ([
IssetOnPropertyObjectToPropertyExistsRector::class,
__DIR__ . ' /app/Http/Middleware/* ' ,
]);
$ rectorConfig -> rules ([
ReturnTypeFromStrictBoolReturnExprRector::class,
//ReturnTypeFromStrictNativeFuncCallRector::class,
ReturnTypeFromStrictNewArrayRector::class,
ReturnTypeFromStrictScalarReturnExprRector::class,
ReturnTypeFromReturnNewRector::class,
]);
$ rectorConfig -> sets ([
SetList:: CODE_QUALITY ,
SetList:: CODING_STYLE ,
SetList:: DEAD_CODE ,
SetList:: TYPE_DECLARATION ,
SetList:: EARLY_RETURN ,
SetList:: PHP_81 ,
LevelSetList:: UP_TO_PHP_80 ,
]);
$ rectorConfig -> sets ([
LaravelSetList:: LARAVEL_CODE_QUALITY ,
LaravelSetList:: LARAVEL_90 ,
LaravelLevelSetList:: UP_TO_LARAVEL_80 ,
]);
};กรุณาเยี่ยมชม Rectorphp สำหรับตัวอย่างการกำหนดค่าเพิ่มเติม
หากคุณต้องการถอนการติดตั้งส่วนขยายนี้ลบไฟล์การกำหนดค่าก่อน: rector.php จากแอปพลิเคชันของคุณ
จากนั้นลบแพ็คเกจ:
composer remove palpalani/grumphp-rector-task
โปรดดู Changelog สำหรับข้อมูลเพิ่มเติมเกี่ยวกับสิ่งที่เปลี่ยนแปลงไปเมื่อเร็ว ๆ นี้
โปรดดูรายละเอียดที่มีส่วนร่วม
โปรดตรวจสอบนโยบายความปลอดภัยของเราเกี่ยวกับวิธีการรายงานช่องโหว่ด้านความปลอดภัย
เราใช้ semver สำหรับการกำหนดเวอร์ชัน สำหรับเวอร์ชันที่มีให้ดูที่แท็กในที่เก็บนี้
ใบอนุญาต MIT (MIT) โปรดดูไฟล์ใบอนุญาตสำหรับข้อมูลเพิ่มเติม