تمتد هذه الحزمة إلى 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'
إذا كنت ترغب في استخدام ملف تكوين مختلف عن rector.php الافتراضي ، فيمكنك تحديد موقع ملف التكوين المخصص الخاص بك مع هذا الخيار.
Default: [php]
سيحدد هذا الخيار امتدادات الملفات التي ستؤدي إلى هذه المهمة.
Default: false
مسح ذاكرة التخزين المؤقت للملفات التي تم فحصها بالفعل.
Default: false
إخفاء شريط التقدم. على سبيل المثال ، لمخرج CI أجمل.
Default: false
هذا الخيار يجعل من الممكن استخدام الملفات التي تم تغييرها كمسارات أثناء الوصايا المسبقة. سيستخدم خيار المسارات للتأكد من صحة الملفات الملتزمة فقط التي تتطابق مع المسار.
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). يرجى الاطلاع على ملف الترخيص لمزيد من المعلومات.