الصياغة الأساسية للغة PHP

تستمد لغة PHP قواعدها من لغات C وJava وPerl. إذا كنت قد تعلمت أي لغة برمجة من قبل، فستجد لغة PHP مألوفة لك. أما إذا لم تكن قد تعلمت أي لغة من قبل — فلا تقلق. فهذا الدرس هو نقطة انطلاقك.

1. علامات PHP

يجب أن يكون كود PHP محاطًا بعلامات PHP حتى يتمكن الخادم من التعرف عليه وتنفيذه.

(1) العلامة القياسية (موصى بها)

PHP
<?php
// PHP code goes here
echo "Hello World";
?>

(2) علامة الصدى القصيرة

PHP
<?= "Hello World" ?>  <!-- Equivalent to <?php echo "Hello World"; ?> -->

<?= ?> هي صيغة مختصرة لـ <?php echo ... ?>، وهي متوفرة دائمًا منذ إصدار PHP 5.4. وهي مفيدة بشكل خاص لتضمين المتغيرات في HTML:

PHP
<h1>Welcome, <?= $username ?></h1>
⚠️ تحذير: في الماضي، كانت هناك أيضًا علامة مختصرة <? ?> (بدون php)، لكن هذه الصيغة تعتمد على الإعداد short_open_tag في ملف php.ini وقد لا تعمل على خوادم مختلفة. استخدم دائمًا العلامة القياسية <?php.

(3) يمكن حذف الختام ?>

إذا كان الملف يحتوي على كود PHP فقط (بدون HTML)، يُنصح بإغفال العلامة الختامية ?>:

PHP
<?php
// Pure PHP file — omit the closing ?>
echo "Done";

// End of file — no ?>

لماذا؟ لمنع أي مسافات بيضاء غير مقصودة بعد ?> من التداخل مع رؤوس HTTP.


2. المزج بين PHP و HTML

إحدى الميزات الفريدة للغاية في لغة PHP: يمكنك المزج بحرية بين HTML وPHP في نفس الملف:

▶ مثال: لغة PHP المدمجة في HTML

PHP
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>My Site</title>
</head>
<body>
    <h1><?= "Welcome!" ?></h1>
    <p>Current time: <?= date("H:i:s") ?></p>
    
    <?php
    $isLogin = true;
    if ($isLogin):
    ?>
        <p>✅ You are logged in</p>
    <?php else: ?>
        <p>❌ Please log in</p>
    <?php endif; ?>
</body>
</html>
▶ جرّب الكود
💡 نصيحة: توفر لغة PHP طريقتين لدمج الكود مع HTML. استخدم <?= ?> للإخراج السريع؛ وقم بتضمين كتل المنطق الأكبر حجمًا في <?php ... ?>. وتعتبر الصيغة البديلة لهياكل التحكم (if (): ... endif;) أسهل في القراءة مقارنةً بالأقواس المتعرجة {}.


3. الجمل والفاصلة المنقوطة

يجب أن تنتهي كل جملة في لغة PHP بـ فاصلة منقوطة ;:

PHP
<?php
echo "First line";
echo "Second line";
$name = "PHP";
?>

القواعد:

🔥 خطأ شائع: نسيان الفاصلة المنقوطة هو الخطأ الأكثر شيوعًا بين المبتدئين في لغة PHP. وعادةً ما تكون رسالة الخطأ هي Parse error: syntax error, unexpected ... — فعندما ترى هذه الرسالة، تحقق أولاً من وجود الفواصل المنقوطة.


4. قواعد التمييز بين الأحرف الكبيرة والصغيرة

تتبع لغة PHP قواعد مختلفة فيما يتعلق بحساسية الأحرف الكبيرة والصغيرة حسب السياق، وهو ما قد يسبب بعض الارتباك:

النوع هل يُراعي التمييز بين الأحرف الكبيرة والصغيرة؟ مثال
أسماء المتغيرات ✅ نعم $name$Name$NAME
أسماء الثوابت ✅ نعم MY_CONSTmy_const
أسماء الدوال ❌ لا echo() = ECHO() = Echo()
أسماء الفئات/الطرق ❌ لا MyClass = myclass
الكلمات المفتاحية ❌ لا if = IF = If

▶ مثال: المتغيرات حساسة لحالة الأحرف

PHP
<?php
$color = "red";
$Color = "blue";
$COLOR = "green";

echo $color;  // Output: red
echo $Color;  // Output: blue
echo $COLOR;  // Output: green
?>
▶ جرّب الكود
💡 نصيحة: على الرغم من أن أسماء الدوال والكلمات المفتاحية لا تميز بين الأحرف الكبيرة والصغيرة، فاستخدم دائمًا الأحرف الصغيرة. فاتساق الكود أهم من المرونة.


5. التعليقات

يدعم لغة PHP ثلاثة أنماط للتعليقات:

PHP
<?php
// This is a single-line comment (C++ style)

# This is also a single-line comment (Shell style)

/*
 * This is a multi-line comment
 * It can span multiple lines
 * Just like in C
 */

/**
 * This is a documentation comment
 * Used to document functions and classes
 * @param string $name The username
 * @return string A greeting message
 */
function greet($name) {
    return "Hello, " . $name;
}
?>
النمط الصيغة الملاحظات
الشرطة المزدوجة // comment الأكثر شيوعًا — موصى به
هاش # comment نمط شل — نادرًا ما يُستخدم
علامة النجمة المائلة /* */ تعليقات متعددة الأسطر
تعليق الوثيقة /** */ لتوثيق واجهة برمجة التطبيقات (API) للدالة/الفئة
💡 نصيحة: لا تكتب تعليقات بديهية. // Assign 1 to $a غير ضروري — فالكود يوضح ذلك بالفعل. يجب أن تشرح التعليقات لماذا يتم فعل شيء ما، وليس ماذا يتم فعله.


6. echo مقابل print

كل من echo وprint عبارة عن عبارات إخراج في لغة PHP. وهما متشابهتان جدًّا، مع وجود اختلافات طفيفة بينهما:

echo print
معلمات متعددة echo "a","b","c"; ❌ معلمة واحدة فقط
قيمة الإرجاع ❌ لا شيء ✅ تُرجع دائمًا 1
السرعة أسرع قليلاً أبطأ قليلاً
حصة الاستخدام 95% إيكو نادرًا ما تُستخدم

▶ مثال: استخدام الأمر echo

PHP
<?php
// Output a string
echo "Hello World";

// Output multiple (comma-separated)
echo "My", " name", " is", " John";  // Output: My name is John

// Output HTML tags
echo "<h2>This is a heading</h2>";

// Output a variable
$name = "Alice";
echo "Hello, " . $name;  // Hello, Alice

// Double quotes parse variables directly
echo "Hello, $name";     // Hello, Alice
?>
▶ جرّب الكود
💡 نصيحة: استخدم دائمًا echo. ما لم تكن في سياق يتطلب قيمة إرجاع (وهو أمر نادر جدًّا)، فلن تحتاج إلى print.


7. أحرف الهروب

استخدم الشرطة المائلة العكسية \ لتمثيل الأحرف الخاصة في السلاسل:

تسلسل الهروب المعنى
\n سطر جديد
\r علامة العودة
\t علامة التبويب
\\ علامة الباكسلش نفسها
\$ علامة الدولار (تمنع اعتبارها متغيرًا)
\" علامة الاقتباس المزدوجة

▶ مثال: أحرف الهروب

PHP
<?php
echo "Line one\nLine two\nLine three";
// For visible line breaks in the browser, use <br>
echo "Line one<br>Line two<br>Line three";

echo "He said: \"PHP is easy!\"";
echo "The path is C:\\xampp\\htdocs";
echo "The price is \$100";
?>
▶ جرّب الكود
⚠️ تحذير: لا تنتج العلامة \n فاصل أسطر مرئي في HTML (تتجاهل المتصفحات أحرف نهاية السطر في النص العادي). لفصل الأسطر في صفحة ويب، استخدم العلامة <br> مع أنماط CSS. لا تؤثر العلامة \n إلا على مظهر كود HTML المصدري.

❓ أسئلة شائعة

س لماذا يظهر ملف .php الخاص بي ككود مصدر خام في المتصفح بدلاً من أن يتم تنفيذه؟
ج ربما قمت بالنقر المزدوج على ملف .php (مما يؤدي إلى فتحه عبر بروتوكول file:///)، أو أن PHP غير مثبت أو غير ممكّن على الخادم. يجب الوصول إلى ملفات PHP عبر http://localhost/.
س ما الفرق بين <?php و<?=؟
ج <?php هي علامة PHP الكاملة — يمكنك كتابة أي كود PHP بداخلها. أما <?= ?> فهي اختصار لـ <?php echo ... ?> وتُستخدم فقط لإخراج تعبير واحد.
س هل يمكن لـ echo إخراج الأرقام والسلاسل معًا؟
ج نعم. تقوم PHP بالتحويل التلقائي للأنواع. echo 42 . " is the answer"; تُخرج "42 is the answer" — حيث يتم تحويل العدد الصحيح 42 تلقائيًا إلى سلسلة.

📖 ملخص

📝 تمارين

  1. أنشئ صفحة PHP تتضمن اسمك (باستخدام متغير)، والتاريخ الحالي (باستخدام الدالة date)، وجدول HTML — على أن يتم عرض كل ذلك من خلال الدالة echo.
  2. جرب أنماط التعليقات الثلاثة جميعها — // و# و/* */ — في الملف نفسه وتأكد من أنها تعمل جميعها.
  3. اكتب مثالاً مقارنًا يستخدم كلاً من \n و<br> لفهم الفرق بينهما في المتصفح.
Web-Tutorial.com

فريق Web-Tutorial التقني

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

100%