مفهوم – الاخطاء المنطقية :
تعتبر الاخطاء المنطقيه من اصعب الاخطاء عثورا واصلاحا في جميع لغات البرمجه كلها. وخلاصة هذه الاخطاء ان الكود مكتوب بشكل صحيح ويعمل بشكل صحيح ولكن لا يقوم بفعل النتيجه التي يريدها كاتب الكود البرمجي. مثال على هذا الخطأ هو دالة التكرار ( for loop ) لاحظ الكود التالي :
لو نظرت الى الكود نظرة سريعه فسوف ترى ان المراد منه هو كتابة الكلمه ” اهلا ” 10 مرات اليس ذلك صحيحا ؟ ولكن عند تشغيل هذا البرنامج سوف يقوم بكتابة الكود فقط مره واحده. اذا لم تعمق النظر فلن تجد الخطأ.
ولكن اذا نظرت بتركيز شديد سوف ترى ان هناك فاصله منقوطه بعد انتهاء قوس دالة التكرار وهذه النقه تجعل الداله تدور 10 مرات ثم بعد ذلك تقوم بطباعة الكلمه اهلا, وهذا هو سبب الخطأ. وايضا يحصل الخطأ في الدالة While اذا لم نقم بوضع شرط يخرجنا من دالة التكرار.
مراحل الاخطاء :
تقوم لغة PHP بإعطائك الحرية في اظهار الاخطاء كيفما تريد , يمكنك اختيار اي اخطاء تظهر واي منها لا تظهر وبالطبيعه تقوم PHP بإطهار كل الاخطاء من دون التنبيهات, ومراحل الاخطاء عباره عن ثوابت سوف اعرضها لك في الجدول الذي ستراه الان :
القيمة |
الخطأ |
المعنى |
1 | E_ERROR | اظهار الاخطاء الحرجه وقت التشغيل |
2 | E_WARNING | اظهار الاخطاء الغير حرجه وقت التشغيل |
4 | E_PARSE | اظهار الاخطاء الي تتبع الترجم |
8 | E_NOTICE | اظهار التنبيهات |
16 | E_CORE_ERROR | اظهار الخطأ اذا لم يعمل محرك PHP |
32 | E_CORE_WARNING | اظهار الاخطاء الغير حرجه اذا لم يعمل محرك PHP |
64 | E_COMPILE_ERROE | اظهار اخطاء ترجمة الكود |
128 | E_COMPILE_WARNING | اظهار الاخطاء الغير حرجه في ترجمة الكود |
256 | E_USER_ERROR | اظهار الاخطاء المعرفه من المستخدم مسبقا |
512 | E_USER_WARNING | اظهار الاخطاء الغير حرجه المعرفه من المستخدم مسبقا |
1024 | E_USER_NOTICE | اظهار التنبيهات المعرفه من المستخدم مسبقا |
2048 | E_ALL | اظهار كل الاخطاء والانذارات والتنبيهات |