Coding Conventions
PHP
المعيار: نمط ترميز PSR-12
إعلانات الأنواع: استخدم إعلانات الأنواع في PHP 8.2 (أنواع المعاملات، أنواع الإرجاع، أنواع الخصائص)
الأنواع الصارمة: يجب أن تعلن جميع ملفات PHP
strict_types=1المساحات الاسمية: اتبع التحميل التلقائي PSR-4 (مثال:
Chamilo\CoreBundle\Entity\User)معايير Symfony: اتبع معايير الترميز وأفضل الممارسات في Symfony
JavaScript/Vue
ESLint + Prettier: يتم فحص الشفرة باستخدام ESLint وتنسيقها باستخدام Prettier؛ الإعدادات موجودة في
eslint.config.mjsفي جذر المشروع. كما يتم تمكينprettier-plugin-tailwindcssلترتيب فئات Tailwind تلقائيًا.واجهة البرمجة التكوينية: استخدم بنية
<script setup>في Vue 3 للمكونات الجديدةTypeScript: يتم دعم TypeScript؛ استخدمه للشفرة الآمنة من حيث الأنواع
CSS
Tailwind CSS: فضّل فئات المرافق على CSS المخصص
تسمية BEM: عند الحاجة إلى CSS مخصص، استخدم اتفاقية تسمية BEM
SCSS: استخدم SCSS لأوراق الأنماط المعقدة
أدوات التحليل الثابت وإعادة الهيكلة لـ PHP
يأتي المشروع مع إعدادات لثلاث أدوات إضافية:
PHPStan
phpstan.neon
التحليل الثابت (المستوى 5، يفحص src/ ومجلدات الاختبار)
Psalm
psalm.xml
جولة ثانية من التحليل الثابت؛ تعمل في CI عند كل دفع
Rector
rector.php
تحويلات الشفرة التلقائية والترقيات
شغّلها عبر اختصارات composer: composer phpstan، composer psalm. انظر Testing للحصول على الأوامر الكاملة.
عام
الإنجليزية: يجب أن تكون جميع تعليقات الشفرة، وأسماء المتغيرات، والوثائق باللغة الإنجليزية
الترجمات: يجب أن تستخدم جميع النصوص المواجهة للمستخدم نظام الترجمة (Vue I18n للواجهة الأمامية، Symfony Translator للواجهة الخلفية)
لا قيم سحرية: استخدم الثوابت أو التعدادات بدلاً من القيم المبرمجة مسبقًا
آخر تحديث
هل كان هذا مفيدا؟