التثبيت على أي مشروع PHP 7.2-PHP 8.3 مع أي تبعيات
اشتعلت فيه النيران بسرعة مع نفاد مواز خارج منطقة الجزاء
استخدم PHP_CodeSniffer أو PHP-CS-Fixer - أي شيء تريده
استخدم المجموعات المعدة ومجموعات PHP CS Fixer لتوفير الوقت
يتطلب الملحن تبسيط/معيار الترميز السهل --dev
البائع/بن/ecs
في التشغيل الأول، تقوم ECS بإنشاء ملف تكوين ecs.php
مع الدلائل والقاعدة الأولى للبدء.
ثم يمكنك التشغيل مرة أخرى لرؤية الاختلافات المقترحة:
البائع/بن/ecs
لإصلاح الكود فعليًا، أضف --fix
:
البائع/bin/ecs --fix
هذا كل شيء!
في أغلب الأحيان، ستكون سعيدًا بالتكوين الافتراضي. الجزء الأكثر أهمية هو تكوين المسارات وأدوات الداما والمجموعات:
استخدام PhpCsFixerFixerArrayNotationArraySyntaxFixer;استخدام PhpCsFixerFixerListNotationListSyntaxFixer;استخدام SymplifyEasyCodingStandardConfigECSConfig;return ECSConfig::configure() ->withPaths([__DIR__ . '/src', __DIR__ . '/tests']) ->مع قاعدة التكوين( ArraySyntaxFixer::class, ['بناء الجملة' => 'طويل'] ) ->مع القواعد([ ListSyntaxFixer::class, ]) ->withPreparedSets(psr12: true);
هل تريد التحقق من جميع ملفات *.php
الموجودة في جذرك ( ecs.php
و rector.php
وما إلى ذلك)؟ بدلًا من إدراجها واحدًا تلو الآخر، استخدم طريقة ->withRootFiles()
:
استخدم SymplifyEasyCodingStandardConfigECSConfig;return ECSConfig::configure() ->withPaths([__DIR__ . '/src', __DIR__ . '/tests']) ->withRootFiles();
هل تريد تضمين واحدة من 44 مجموعة من php-cs-fixer؟
أنت تستطيع:
استخدم SymplifyEasyCodingStandardConfigECSConfig;return ECSConfig::configure() ->withPaths([__DIR__ . '/src', __DIR__ . '/tests']) ->withPhpCsFixerSets(perCS20: true, educationAnnotation: true);
هل تحب مجموعات القواعد، ولكنك ترغب في تخطي قاعدة واحدة أو بعض الملفات؟
استخدم SymplifyEasyCodingStandardConfigECSConfig;return ECSConfig::configure() ->withSkip([// تخطي القاعدة الفردية ArraySyntaxFixer::class,// تخطي القاعدة الفردية في مسارات محددة ArraySyntaxFixer::class => [__DIR__ . '/src/ValueObject/', ],// تخطي الدليل بالمطلق أو * Mask__DIR__ . '/src/Migrations',// تخطي الدلائل بواسطة Mask__DIR__ . '/src/*/Legacy', ]);
ربما لن تستخدم هذه العناصر، لكنها يمكن أن تمنحك مزيدًا من التحكم في العملية الداخلية:
استخدم SymplifyEasyCodingStandardConfigECSConfig;استخدام SymplifyEasyCodingStandardValueObjectOption;return ECSConfig::configure()// ملحقات الملفات للمسح الضوئي->withFileExtensions(['php'])// تكوين مسارات ذاكرة التخزين المؤقت ومساحة الاسم - مفيدة على سبيل المثال التخزين المؤقت لـ Gitlab CI، حيث تنتج getcwd() دائمًا مختلفة المسار->مع ذاكرة التخزين المؤقت ( الدليل: sys_get_temp_dir() . "/_changed_files_detector_tests"، مساحة الاسم: getcwd() // تمت تطبيعها إلى فاصل الدليل)// طباعة المحتويات بقواعد مسافة بادئة محددة->withSpacing(indentation: Option::INDENTATION_SPACES, lineEnding: PHP_EOL)// تعديل التشغيل المتوازي->withParallel(timeoutSeconds: 120, maxNumberOfProcess: 32، حجم الوظيفة: 20)؛
القيم المذكورة هي القيم الافتراضية.
هل تستخدم ECS عبر مجموعة متنوعة من المشاريع؟ هل تريد تشغيلها دائمًا بنفس الطريقة في كل مشروع من هذه المشاريع؟ دعونا نستفيد من البرامج النصية للملحن
يضيف هذا الأمر نصين مفيدين إلى composer.json
الخاص بك:
البرامج النصية للبائع/bin/ecs
قم بتشغيلها دائمًا بنفس الطريقة - للتحقق من الكود:
التحقق من الملحن CS
لتطبيق الإصلاحات، قم بتشغيل:
إصلاح الملحن CS
قد ترغب في استخدام ECS لإنشاء تقارير لأدوات الطرف الثالث.
نحن نقدم حاليًا تنسيقات لـ:
console
: طباعة موجهة نحو الإنسان على غرار PHP CS Fixer.
json
: نقطة JSON مخصصة للأدوات التعسفية.
junit
: تنسيق JUnit الذي سيتم استخدامه في بيئات CI المختلفة.
checkstyle
: مفيد لتقارير عمل Github.
gitlab
: للحصول على تقارير جودة كود Gitlab أو أدوات مناخ الكود.
للحصول على معلومات حول كيفية تصرف كل منها، راجع تطبيقات كل منها.
البائع/bin/ecs --مسح ذاكرة التخزين المؤقت
مدققي قائمة البائع/bin/ecs
هل تبحث عن تنسيق json؟
مدققو قائمة البائع/bin/ecs --output-format json
هل تستخدم أداة أخرى وتريد الترحيل؟ الأمر بسيط جدًا - إليك "كيفية القيام بذلك":
ل PHP_CodeSniffer
ومثبت PHP CS.