
التعريف بإطار عمل Yii
إطار عمل Yii هو إطار PHP مجاني وعالي الأداء يُستخدم لتطوير تطبيقات الويب. ويوفر أساسًا متينًا لتطوير تطبيقات ويب قوية وقابلة للتوسع باستخدام النمط المعماري Model-View-Controller (MVC). ويشير اسم "Yii" إلى عبارة "Yes, It Is!" ويعكس أهداف الإطار في البساطة والكفاءة والمرونة. ويتضمن Yii تقنيات أمان لمواجهة الثغرات الشائعة على الويب مثل البرمجة النصية عبر المواقع (XSS) وتزوير الطلبات عبر المواقع (CSRF) وهجمات حقن SQL. كما يوفر إطار عمل Yii مجموعة واسعة من الميزات والأدوات لمساعدة المطورين على إنشاء تطبيقات الويب بسرعة.
يُعدّ تصحيح الأخطاء والاختبار من الجوانب الحاسمة في عملية التطوير لتحديد المشكلات وحلها قبل أن تؤثر في المستخدمين النهائيين. وفي سياق إطار عمل Yii2، وهو إطار PHP متطور، تتوفر لدينا مجموعة من الأدوات والاستراتيجيات التي يمكن أن تساعدنا في ضمان جودة شيفرتنا.
تصحيح الأخطاء في إطار عمل Yii2
تصحيح الأخطاء هو عملية تحديد العيوب أو السلوكيات غير المتوقعة في الشيفرة وإصلاحها. ويتضمن إطار عمل Yii2 ميزات تصحيح قوية تجعل هذه العملية أكثر كفاءة وفاعلية. وفيما يلي بعض أهم ميزات تصحيح الأخطاء التي يوفرها إطار عمل Yii2:
التسجيل (Logging):
- يقدم Yii إطار تسجيل قويًا شديد المرونة وقابلًا للتوسعة. ويوفر Yii2 إطار تسجيل قابلًا للإعداد يمكّن المطورين من تسجيل نشاط التطبيق وفحصه. ويتيح لك استخدام ميزات التسجيل في Yii2 تسجيل معلومات مهمة مثل رسائل الخطأ وتتبعات المكدس (stack traces) وبيانات الأداء، وهي مفيدة للغاية في تصحيح الأخطاء وتحديد مصدر المشكلات.
- يجب اتباع الإجراءات التالية لاستخدام إطار التسجيل في Yii:
1. ضع رسائل السجل في أنحاء الشيفرة؛
2. اضبط أهداف السجل (log targets) في إعداد التطبيق لتصفية رسائل السجل وتصديرها.
3. افحص رسائل السجل المصفّاة التي صدّرتها الأهداف المختلفة (مثل مصحح أخطاء Yii).

إن Yii::info() وYii::error() وYii::warning() هي دوال تسجيل يوفرها إطار عمل Yii في المثال السابق. وتتيح هذه الدوال تسجيل الرسائل على مستويات سجل مختلفة.

إعداد التسجيل المعتمد على الملفات
شريط التصحيح (Debug Toolbar):
- يحتوي إطار عمل Yii2 على شريط تصحيح مفيد يمنح المستخدمين وصولًا فوريًا إلى معلومات حول كيفية
- تنفيذ التطبيق. ويعرض الشريط تفاصيل عن استعلامات قاعدة البيانات وطلبات الخادم وتنفيذ الشيفرة وغير ذلك. ويمكنك استخدامه لتحديد أي مخالفات بسرعة وتحسين أداء تطبيقك.

يمكن تفعيل شريط التصحيح في المثال السابق بضبط الثابت YII_ENV على "dev" وتعريف الثابت YII_DEBUG بالقيمة true. ويضمن ذلك أن يعمل التطبيق في بيئة التطوير وأن يظهر شريط التصحيح. وبمجرد تفعيله وإعداده، يمكن عرض شريط التصحيح بمجرد كتابة عنوان URL الخاص بالتطبيق في متصفح الويب. ويحتوي شريط التصحيح، الذي يظهر في أعلى الموقع أو أسفله، على معلومات وأدوات عديدة لاستكشاف الأخطاء وتحليل أداء البرنامج.
معالجة الأخطاء
يمتلك Yii إطارًا متطورًا لمعالجة الأخطاء يتيح لك تصميم صفحات الأخطاء ومعالجة مجموعة متنوعة من المشكلات بسلاسة. ويمكنك تحديد إجراءات معالجة الأخطاء، مثل عرض رسائل خطأ وصفية أثناء التطوير وصفحات أخطاء سهلة الاستخدام في بيئة الإنتاج، لتوفير تجربة مستخدم متسقة. ويكون معالج الأخطاء مفعّلًا افتراضيًا. ويمكنك تعطيله بجعل الثابت YII_ENABLE_ERROR_HANDLER بالقيمة false في سكربت الدخول الخاص بالتطبيق.

في المثال أعلاه، يتم ضبط معالجة الأخطاء في ملف الإعداد الرئيسي (config/web.php أو config/main.php). ويتولى المكوّن "errorHandler" معالجة الاستثناءات والأخطاء في إطار عمل Yii. وتُضبط الخاصية "errorAction" على site/error،" التي تحدد مسار إجراء الخطأ. وعند حدوث الأخطاء، يتولى إجراء الخطأ مسؤولية إنشاء صفحات أخطاء مخصصة أو تنفيذ إجراءات معينة.
اختبار إطار عمل Yii
الاختبار عنصر أساسي في عملية التطوير للتأكد من أن تطبيقك يعمل كما هو متوقع ويلبي المعايير المحددة. ويوفر إطار عمل Yii إطارًا جيدًا لتطوير اختبارات الوحدة والاختبارات الوظيفية واختبارات القبول. ويوفر Yii ميزات الاختبار التالية:
التكامل مع PHPUnit
يتكامل Yii بسلاسة مع PHPUnit، وهو إطار اختبار محبوب لـ PHP. ويمكن كتابة اختبارات الوحدة لأصناف ومكونات تطبيق Yii المحددة باستخدام PHPUnit. وتساعد هذه الاختبارات في التحقق من سلوك الشيفرة على مستوى تفصيلي، مما يضمن أن كل مكوّن يعمل بشكل صحيح.
تثبيت PHPUnit:

إنشاء صنف لاختبار الوحدة:

تشغيل الاختبارات:

الاختبار الوظيفي

يوفر Yii الاختبار الوظيفي، الذي يتضمن محاكاة تفاعلات المستخدم والتأكد من النتائج المتوقعة. ويمكنك محاكاة طلبات HTTP وتعبئة النماذج وتنفيذ عمليات أخرى على تطبيقك باستخدام القدرات المدمجة في Yii. ويتيح لك ذلك أتمتة سيناريوهات الاختبار والتحقق من السلوك العام لتطبيقك.
تحليل تغطية الشيفرة
يوفر Yii أدوات لتحليل تغطية الشيفرة لمساعدتك في تحديد مقدار قاعدة الشيفرة التي تغطيها الاختبارات. وهذه البيانات مفيدة لتحديد أجزاء تطبيقك التي قد تحتاج إلى مزيد من الاختبار. ويمكنك تعزيز موثوقية تطبيقك واستقراره من خلال السعي إلى تغطية عالية للشيفرة. ويمكن لتحليل تغطية الشيفرة أن يساعدك في العثور على أجزاء من قاعدة شيفرة تطبيق Yii الخاص بك لا تغطيها الاختبارات. كما يقدم رؤى حول فاعلية مجموعة اختباراتك ويساعدك في تحسين تغطية الاختبار للحصول على جودة شيفرة أفضل.
- تثبيت Xdebug
- إعداد PHPUnit لتغطية الشيفرة
- تشغيل PHPUnit مع تحليل تغطية الشيفرة
- تحليل تقرير تغطية الشيفرة
في هذه المقالة، ناقشنا ضرورة تصحيح الأخطاء والاختبار في إطار عمل Yii لضمان شيفرة عالية الجودة. يوفر Yii مجموعة شاملة من أدوات تصحيح الأخطاء، تشمل التسجيل وشريط التصحيح وتقنيات معالجة الأخطاء، لإتاحة التصحيح السريع وحل المشكلات. وإضافةً إلى ذلك، يتيح Yii الاختبار الوظيفي وتحليل تغطية الشيفرة إلى جانب التكامل السهل مع PHP Unit لاختبار الوحدة. ومن خلال الاستفادة من هذه الميزات، يمكنك تحسين جودة تطبيقات Yii الخاصة بك واستقرارها مع تقديم تجربة مستخدم أفضل.
تذكّر أن الوقت المبذول في تصحيح الأخطاء والاختبار يؤتي ثماره على المدى الطويل بتقليل المشكلات وتحسين قابلية صيانة الشيفرة وتحسين الجودة الإجمالية لتطبيقات Yii الخاصة بك.
الأسئلة الشائعة
كيف أفعّل شريط التصحيح في Yii2؟
اضبطوا الثابت YII_ENV على 'dev' وعرّفوا الثابت YII_DEBUG بقيمة true. يشغّل ذلك التطبيق في بيئة التطوير ويُظهر شريط التصحيح.
ما طرق التسجيل التي يوفرها Yii2؟
Yii::info() وYii::error() وYii::warning()، وهي تسجل الرسائل بمستويات مختلفة. وتضبطون أهداف السجل في إعدادات التطبيق لتصفية تلك الرسائل وتصديرها.
كيف أختبر تطبيق Yii؟
يتكامل Yii مع PHPUnit لاختبارات الوحدة للفئات والمكونات، ويدعم الاختبارات الوظيفية التي تحاكي طلبات HTTP وإرسال النماذج، ويمكنه قياس تغطية الشيفرة باستخدام Xdebug مع PHPUnit.
كيف يمكننا المساعدة
- تطوير تطبيقات الويب المخصصةتطوير تطبيقات ويب مخصصة متكاملة لـ SaaS والأدوات الداخلية ولوحات المعلومات وبوابات المؤسسات باستخدام React وNext.js وNode وLaravel وDjango.
- تطوير البرمجيات المخصصةبرمجيات حسب الطلب لفرق المنتجات والمؤسسات — من الاستكشاف إلى الإطلاق مع تسليم بالسبرنتات، وتحديثات مكتوبة للحالة، ومدير مشروع يُدار من تورنتو.
- صيانة SaaS الشهريةرعاية شهرية لتطبيقات SaaS والويب — مراقبة ونسخ احتياطية وتحديثات أمنية وإصلاح الأخطاء وفحص التكاملات وإصدارات مضبوطة وتقرير شهري.
تحدثوا إلى مهندس حول مشروعكم
أخبرونا بما تبنونه. نردّ خلال يوم عمل واحد برأي صريح حول النطاق والنهج والجهد المطلوب.
احجزوا مكالمة استراتيجية مجانيةكتبه الفريق الهندسي في UnlockLive IT. تعمل UnlockLive IT Limited مع العملاء عبر مقرها الرئيسي في تورنتو، وتقدم الأعمال الهندسية من مركز التسليم في دكا. من نحن