الصياغة الأساسية للغة PHP
تستمد لغة PHP قواعدها من لغات C وJava وPerl. إذا كنت قد تعلمت أي لغة برمجة من قبل، فستجد لغة PHP مألوفة لك. أما إذا لم تكن قد تعلمت أي لغة من قبل — فلا تقلق. فهذا الدرس هو نقطة انطلاقك.
1. علامات PHP
يجب أن يكون كود PHP محاطًا بعلامات PHP حتى يتمكن الخادم من التعرف عليه وتنفيذه.
(1) العلامة القياسية (موصى بها)
<?php
// PHP code goes here
echo "Hello World";
?>
(2) علامة الصدى القصيرة
<?= "Hello World" ?> <!-- Equivalent to <?php echo "Hello World"; ?> -->
<?= ?> هي صيغة مختصرة لـ <?php echo ... ?>، وهي متوفرة دائمًا منذ إصدار PHP 5.4. وهي مفيدة بشكل خاص لتضمين المتغيرات في HTML:
<h1>Welcome, <?= $username ?></h1>
<? ?> (بدون php)، لكن هذه الصيغة تعتمد على الإعداد short_open_tag في ملف php.ini وقد لا تعمل على خوادم مختلفة. استخدم دائمًا العلامة القياسية <?php.
(3) يمكن حذف الختام ?>
إذا كان الملف يحتوي على كود PHP فقط (بدون HTML)، يُنصح بإغفال العلامة الختامية ?>:
<?php
// Pure PHP file — omit the closing ?>
echo "Done";
// End of file — no ?>
لماذا؟ لمنع أي مسافات بيضاء غير مقصودة بعد ?> من التداخل مع رؤوس HTTP.
2. المزج بين PHP و HTML
إحدى الميزات الفريدة للغاية في لغة PHP: يمكنك المزج بحرية بين HTML وPHP في نفس الملف:
▶ مثال: لغة PHP المدمجة في HTML
<!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 ... ?>. وتعتبر الصيغة البديلة لهياكل التحكم (if (): ... endif;) أسهل في القراءة مقارنةً بالأقواس المتعرجة {}.
3. الجمل والفاصلة المنقوطة
يجب أن تنتهي كل جملة في لغة PHP بـ فاصلة منقوطة ;:
<?php
echo "First line";
echo "Second line";
$name = "PHP";
?>
القواعد:
- اختتم كل جملة قابلة للتنفيذ بعلامة
; - من الناحية الفنية، يمكن حذف الفاصلة المنقوطة من الجملة الأخيرة في كتلة PHP (غير مستحسن — فهذا يضر بالاتساق)
- يشير
?>في حد ذاته إلى وجود فاصلة منقوطة، لذا فإنecho "Hi" ?>صحيح من الناحية الفنية (ولكن لا يزال من الضروري إضافة;حفاظًا على الاتساق)
Parse error: syntax error, unexpected ... — فعندما ترى هذه الرسالة، تحقق أولاً من وجود الفواصل المنقوطة.
4. قواعد التمييز بين الأحرف الكبيرة والصغيرة
تتبع لغة PHP قواعد مختلفة فيما يتعلق بحساسية الأحرف الكبيرة والصغيرة حسب السياق، وهو ما قد يسبب بعض الارتباك:
| النوع | هل يُراعي التمييز بين الأحرف الكبيرة والصغيرة؟ | مثال |
|---|---|---|
| أسماء المتغيرات | ✅ نعم | $name ≠ $Name ≠ $NAME |
| أسماء الثوابت | ✅ نعم | MY_CONST ≠ my_const |
| أسماء الدوال | ❌ لا | echo() = ECHO() = Echo() |
| أسماء الفئات/الطرق | ❌ لا | MyClass = myclass |
| الكلمات المفتاحية | ❌ لا | if = IF = If |
▶ مثال: المتغيرات حساسة لحالة الأحرف
<?php
$color = "red";
$Color = "blue";
$COLOR = "green";
echo $color; // Output: red
echo $Color; // Output: blue
echo $COLOR; // Output: green
?>
5. التعليقات
يدعم لغة 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 | ||
|---|---|---|
| معلمات متعددة | ✅ echo "a","b","c"; |
❌ معلمة واحدة فقط |
| قيمة الإرجاع | ❌ لا شيء | ✅ تُرجع دائمًا 1 |
| السرعة | أسرع قليلاً | أبطأ قليلاً |
| حصة الاستخدام | 95% إيكو | نادرًا ما تُستخدم |
▶ مثال: استخدام الأمر echo
<?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
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 المصدري.
❓ أسئلة شائعة
file:///)، أو أن PHP غير مثبت أو غير ممكّن على الخادم. يجب الوصول إلى ملفات PHP عبر http://localhost/.<?php و<?=؟<?php هي علامة PHP الكاملة — يمكنك كتابة أي كود PHP بداخلها. أما <?= ?> فهي اختصار لـ <?php echo ... ?> وتُستخدم فقط لإخراج تعبير واحد.echo 42 . " is the answer"; تُخرج "42 is the answer" — حيث يتم تحويل العدد الصحيح 42 تلقائيًا إلى سلسلة.📖 ملخص
- يُوضع كود PHP داخل علامات
<?php ?>؛ و<?= ?>هي اختصار لـ echo - بالنسبة لملفات PHP الخالصة، يُستبعد العلامة الختامية
?> - يمكن دمج لغتي PHP وHTML بحرية في نفس الملف
- تنتهي كل جملة بفاصلة منقوطة
; - أسماء المتغيرات حساسة لحالة الأحرف؛ أما أسماء الدوال والكلمات المفتاحية فليست كذلك (ولكن يُفضل دائمًا استخدام الأحرف الصغيرة)
- ثلاثة أنماط للتعليقات:
//#/* */— استخدم// echoهي عبارة الإخراج الأكثر شيوعًا؛ أماprintفلا تُستخدم أبدًا تقريبًا- تُستخدم علامة الهروب وهي الشرطة المائلة العكسية
\؛ أما لفواصل الأسطر في HTML، فتُستخدم<br>
📝 تمارين
- أنشئ صفحة PHP تتضمن اسمك (باستخدام متغير)، والتاريخ الحالي (باستخدام الدالة
date)، وجدول HTML — على أن يتم عرض كل ذلك من خلال الدالةecho. - جرب أنماط التعليقات الثلاثة جميعها —
//و#و/* */— في الملف نفسه وتأكد من أنها تعمل جميعها. - اكتب مثالاً مقارنًا يستخدم كلاً من
\nو<br>لفهم الفرق بينهما في المتصفح.



