I'm always excited to take on new projects and collaborate with innovative minds.

Phone

+20 115 052 9992

Website

https://ibrahimahmed.online/

Social Links

توحيد شكل الكود في فريقك باستخدام Laravel Pint

تخيل معايا السيناريو ده: قاعد الصبح رايق بتشرب كوباية القهوة، وفتحت الـ GitHub عشان تعمل مراجعة كود (Code Review) لـ Pull Request رفعه زميلك في الفريق. بتفتح ال

توحيد شكل الكود في فريقك باستخدام Laravel Pint
Reading Count: 3

تخيل معايا السيناريو ده: قاعد الصبح رايق بتشرب كوباية القهوة، وفتحت الـ GitHub عشان تعمل مراجعة كود (Code Review) لـ Pull Request رفعه زميلك في الفريق. بتفتح الملفات وتتخض! مسافات زيادة هنا، أقواس في السطر اللي تحت من غير سبب، وسطر فاضي مالهوش أي لزمة. النتيجة؟ بدل ما تركز في البزنس لوجيك (Business Logic) والمشاكل البرمجية، بتقضي نص ساعه تتخانقوا على شكل الكود ومكان المسافات!

المشكلة دي بتكبر أكتر كل ما حجم الفريق بيزيد. كل مبرمج بيبقى ليه طريقته وأسلوبه، ونتيجة ده بنلاقي الكود بيطلع متقطع وشكله مش احترافي. هنا بقى بيجي دور أداة توحيد شكل الكود (Code Style)، وبالfات لما بنتكلم عن إطار عمل لارافل (Laravel)، فهناك بطل خارق نزل عشان يحل المشكلة دي من جذورها واسمه Laravel Pint.

يعني إيه Laravel Pint أصلاً؟ وليه محتاجينها؟

أداة Laravel Pint هي باقة أو حزمة رسمية طورتها إيكوسيستم لارافل (Laravel Ecosystem)، ومبنية أساساً فوق أداة شهيرة في عالم لغة بي إتش بي (PHP) اسمها PHP CS Fixer. باختصار شديد، البنط (Pint) دي بتدخل على ملفات مشروعك وتظبطها وتنسقها تلقائياً حسب معايير ومواصفات عالمية، زي معايير PSR-12 مثلاً.

المميز في Laravel Pint إنها خفيفة جداً، وبتيجي جاهزة ومن غير تعقيد، ومش محتاجة إعدادات معقدة. بتقدر بـ أمر واحد في التيرمنال (Terminal) تخلي كل كود مشروعك بيللمع وشكله متناسق كأن شخص واحد بس هو اللي كتبه، حتى لو الفريق كله شغال على نفس المشروع.

خطوات التثبيت والاستخدام بطريقة سهلة وعملية

عشان نبدأ نستخدم الأداة دي في مشروع لارافل (Laravel Project) بتاعنا، الموضوع أسهل ما يمكن. كل اللي محتاجه إن يكون عندك بيئة عمل شغالة فيها بي إتش بي (PHP) ومدير الحزم كومبوزر (Composer).

افتح التيرمنال (Terminal) واكتب الأمر ده عشان تسطب الأداة في مشروعك كـ حزمة تطوير (Dev Dependency):

composer require laravel/pint --dev

بعد ما التثبيت يخلص، تقدر تشغل الأداة لأول مرة وتصلح كل مشاكل التنسيق في الكود بتاعك بالأمر البسيط ده:

./vendor/bin/pint

أول ما تدوس إنتر، هتلاقي الأداة بتعدي على كل ملفات الـ PHP في المشروع، وتصلح المسافات، وتظبط الأقواس، وتعرض لك تقرير سريع بالملفات اللي اتعدلت. شكل السحر بجد!

تخصيص قواعد التنسيق باستخدام ملف pint.json

طبعاً، ممكن تلاقي إن القواعد الافتراضية لأداة Laravel Pint مش كلها مناسبة لطبيعة الشغل في شركتك أو فريقك. مفيش مشكلة، لارافل وفرت لنا طريقة مرنة جداً للتخصيص عن طريق إنشاء ملف إعدادات في جذور المشروع (Root Directory) باسم pint.json.

تققدر جوه الملف ده تحدد إيه هي المعايير اللي عاوز تمشي عليها، أو حتى تستبعد ملفات أو مجلدات معينة مش عاوز الأداة تقرب منها. مثال على شكل الملف:


{
    "preset": "laravel",
    "exclude": [
        "my-old-folder"
    ],
    "rules": {
        "simplified_null_return": true,
        "braces": {
            "position_after_functions_and_oop_constructs": "same_line"
        }
    }
}

بالطريقة دي بتضمن إن كل أعضاء الفريق ماشيين على نفس الـ Code Style بالضبط، ومفيش أي اجتهادات شخصية ممكن تبوظ شكل الكود.

الربط الآلي: التشغيل التلقائي مع الـ Git Hooks و CI/CD

عشان نضمن إن محدش من الفريق يكسل ويرفع كود مش منسق، أفضل حل هو إننا نخلي الأداة تشتغل لوحدها في الخلفية. ممكن نعمل ده بطريقتين أساسيتين:

  1. عن طريق Git Hooks (Pre-commit Hook): بتخلي أداة Pint تشتغل تلقائياً أول ما المبرمج يعمل git commit. لو فيه أي ملف مش مظبط، الأداة بتصلحه فوراً أو بتمنع الـ Commit لحد ما يتصلح.
  2. عن طريق أنظمة الـ CI/CD (مثل GitHub Actions): بتضيف خطوة في الـ Pipeline بتاعك تفحص الكود (Code Linting) أول ما يترفع Pull Request، ولو فيه مشاكل الـ Build بيقع وبيظهر تنبيه للمبرمج.

الخطوة دي بتريح المراجِع (Reviewer) تماماً، وبتخلي تركيز الـ Team كله منصصب على البزنس لوجيك والأداء والأمان مش على شكل المسافات.

خاتمة ونصيحة أخيرة

في النهاية، يا صديقي المبرمج، الكود النظيف والموحد مش رفاهية ولا مجرد شكل جمالي؛ الكود المنظم هو استثمار في وقتك ووقت فريقك، وبيخلي صيانة المشروع (Maintenance) أسهل بكتير على المدى الطويل. أداة Laravel Pint هي هدية مجانية من مجتمع لارافل عشان تريحنا من النقاشات البيزنطية بتاعة "نحط مسافة ولا لأ".

نصيحة من أخ: متستستشيرش فريقك في استخدام الأدوات دي، فرضها كـ ستاندرد أساسي في كل مشاريعكم الجديدة والقديمة، واهتم إنك تدمجها مع الـ CI/CD من أول يوم. صدقني، بعد أسبوع واحد هتنسوا أصلاً إن كان فيه مشاكل في تنسيق الكود قبل كده!


Share

Related posts

Aug 18, 2026 • 1 min read
Reading Count: 5
إزاي تستخدم View Composers لمشاركة البيانات بين صفحات Laravel

يا هلا بيك يا صديقي المبرمج في مقال جديد من سلسلة احتراف تطوير الويب (Web Development). تعال نتكلم ا...

Aug 17, 2026 • 1 min read
Reading Count: 8
استخدام الـ Form Requests لتطبيق مبدأ Single Responsibility

يا هلا بيك يا باشمهندس في عالم تطوير الويب (Web Development). تعال نتكلم في موضوع بيحصل قدامنا كلنا...

Aug 16, 2026 • 1 min read
Reading Count: 8
إنشاء الـ Custom Service Providers في لارفيل (Laravel Custom Service Providers): دليلك الشامل للاحتراف

إنشاء الـ Custom Service Providers في لارفيل (Laravel Custom Service Providers): دليلك الشامل للاحتر...