أخطاء بناء الجملة في PHP: كيفية قراءتها وفهمها وإصلاحها

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

أخطاء PHP parse/syntax: كيف تتوقف عن الخوف منها وتبدأ في إصلاحها

\n\n

هل سبق لك أن كتبت كودًا، وقمت بتشغيله، وكان الرد عبارة عن شاشة بيضاء وجملة مثل Parse error: syntax error, unexpected '}' in /path/to/file.php on line 42؟ إذا كان الأمر كذلك، فمرحبًا بك في النادي. هذا الخطأ هو بمثابة "طقوس العبور" الحقيقية لكل مطور PHP. على موقع Stack Overflow، جمع سؤال "PHP parse/syntax errors; and how to solve them" مئات الآلاف من المشاهدات. هذا يعني أن المشكلة مألوفة لدى الجميع حرفيًا.

\n\n

الخبر السار: أخطاء PHP parse/syntax ليست حكمًا بالإعدام. إنها مجرد الطريقة التي يخبرك بها مفسر PHP: "مرحبًا، أنا لا أفهم ما تريده مني. تحقق من بناء الجملة". واليوم سوف نتعلم قراءة هذه الرسائل، وفهمها، والأهم من ذلك، إصلاحها.

\n\n

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

\n\n

ما هو خطأ التحليل في PHP ولماذا يحدث؟

\n\n

خطأ التحليل (أو خطأ بناء الجملة) يحدث عندما لا يستطيع PHP تحليل الكود الخاص بك. تخيل أنك تقرأ كتابًا، وفجأة تجد جملة بدون نقطة، أو كلمات مكتوبة بالمقلوب، أو صفحة كاملة مفقودة. ستشعر بالارتباك أنت أيضًا. PHP هو نفس القارئ، لكنه متطلب للغاية.

\n\n

يقوم مفسر PHP بتحليل الكود من اليسار إلى اليمين، ومن الأعلى إلى الأسفل. بمجرد أن يصادف شيئًا لا يتوافق مع قواعد اللغة، يتوقف فورًا ويصدر خطأ. ولهذا السبب، غالبًا ما يؤدي خطأ بناء الجملة في PHP إلى "تعطيل" البرنامج النصي بأكمله - حيث يتوقف التنفيذ فورًا.

\n\n

الأكثر غدرًا: قد تكون المشكلة الحقيقية قبل السطر الذي أشار إليه PHP في الرسالة. يخبرك المفسر أين لاحظ الخطأ، ولكن ليس دائمًا أين بدأ.

\n\n

كيف تقرأ رسالة الخطأ: تحليل بالأمثلة

\n\n

دعنا نحلل رسالة نموذجية:

\n\n
Parse error: syntax error, unexpected '}' in /var/www/index.php on line 15
\n\n

ماذا هو مكتوب هنا؟

\n
    \n
  • Parse error — نوع الخطأ (خطأ في بناء الجملة).
  • \n
  • syntax error, unexpected '}' — واجه PHP الرمز } الذي لم يتوقعه في هذا المكان. هذا يعني أن هناك قوسًا افتتاحيًا أو فاصلة منقوطة مفقودة في مكان ما أعلاه، أو أن هناك قوس إغلاق إضافي.
  • \n
  • in /var/www/index.php — الملف الذي يوجد به الخطأ.
  • \n
  • on line 15 — السطر الذي لاحظ فيه PHP المشكلة.
  • \n
\n\n

حالة شائعة أخرى:

\n\n
Parse error: syntax error, unexpected end of file in /var/www/test.php on line 20
\n\n

"Unexpected end of file" تعني أن الملف انتهى، بينما كان PHP يتوقع رؤية شيء آخر. في أغلب الأحيان، يكون قوسًا متعرجًا للإغلاق } أو فاصلة منقوطة ;.

\n\n

أهم 5 أخطاء بناء جملة شائعة في PHP

\n\n

لقد جمعت خمس حالات تحدث في 90% من الحالات. احفظها - وستوفر ساعات من التصحيح.

\n\n

1. الفاصلة المنقوطة المفقودة (;)

\n\n

هذا هو ملك جميع الأخطاء. يتطلب PHP فاصلة منقوطة في نهاية كل تعبير. إذا فاتتك، فستحصل على خطأ.

\n\n

مثال على المشكلة:

\n
<?php\n$name = "آنا"\necho "مرحبًا، " . $name;\n?>
\n\n

هنا، بعد $name = "آنا" لا يوجد ;. سيقرأ PHP هذا كسطر واحد ولن يفهم أين ينتهي التعيين. سيكون الخطأ تقريبًا في السطر الذي يحتوي على echo.

\n\n

الإصلاح:

\n
<?php\n$name = "آنا";\necho "مرحبًا، " . $name;\n?>
\n\n

نصيحة: ضع دائمًا الفاصلة المنقوطة فورًا بعد كتابة سطر الكود. ستصبح هذه عادة.

\n\n

2. الأقواس غير المتوازنة: المتعرجة {}، الدائرية ()، المربعة []

\n\n

كل

المدونات

توصيات الكتب