0.1ما هي PHP؟ ودورها
الأساسي في 30 ثانية
- PHP = لغة تعمل على الخادم (Server) للويب : تُنفَّذ على الخادم، أبدا في المتصفح، وتُولِّد HTML.
- الدورة طلب ← PHP ← HTML : كل طلب لصفحة يُعيد تشغيل الدورة — الخادم يُنفِّذ، والمتصفح يَعرض.
- الزائر لا يرى كودك أبدا : لا يستلم سوى نتيجة HTML — المنطق والأمان يبقيان على الخادم.
حالة مستمرة — رياد يحدد مكان أول صفحة ديناميكية له
رياد، مطور ويب في قسنطينة، لا يعرف سوى HTML الثابت وقليلا من JavaScript. طلب منه عميله صفحة تعرض « مرحبا » مع اسم كل زائر مسجل. اكتشف رياد أن PHP تُنفَّذ على الخادم (Server) : مع كل طلب، يُنفِّذ الخادم كوده الذي يُولِّد HTML مخصصا، ولا يستلم الزائر سوى هذا HTML — أبدا الكود. دوَّن على بطاقة « طلب ← PHP ← HTML » واختار اختباره الأول : صفحة تعرض اسما مختلفا حسب المستخدم.
حالة مستقلة لهذا القسم : تعود في الدرس والمخطط والنص الجاهز وتحدي 48 ساعة للقسم 0.1.
1. لغة تعمل على الخادم
PHP (PHP: Hypertext Preprocessor) هي لغة برمجة تعمل على الخادم (Server) ومصممة للويب. عالَمان يجب تمييزهما : جهة العميل (متصفح المستخدم)، التي تُنفِّذ HTML وCSS وJavaScript — ما يظهر ويتحرك ؛ وجهة الخادم (الجهاز البعيد الذي يستضيف الموقع)، التي تُنفِّذ المنطق : النماذج، قاعدة البيانات، المصادقة. تعيش PHP على الخادم : عندما يطلب زائر صفحة، يُنفِّذ الخادم كود PHP الذي يُنتج HTML، وهذا HTML — وليس الكود — هو ما يُرسَل إلى المتصفح. لا يرى الزائر أبدا كود PHP الخاص بك. استوعب رياد الصورة : المطبخ (الخادم، غير المرئي) يُحضِّر، والقاعة (المتصفح) لا ترى سوى الطبق المقدم.
2. الدورة طلب ← PHP ← HTML
الدورة التي يجب حفظها حتما : طلب ← PHP ← HTML. (1) يطلب المستخدم صفحة (يكتب عنوان URL أو ينقر رابطا) — هذا هو الطلب. (2) يستلم خادم الويب الطلب، ويرى ملف .php فيُسنده إلى مفسّر PHP الذي يُنفِّذ الكود (حسابات، وصول إلى القاعدة، منطق). (3) تُولِّد PHP HTML فيُرسله الخادم إلى المتصفح الذي يعرضه. مع كل طلب تُعاد هذه الدورة — والصفحة الناتجة غالبا مخصصة (حسب المستخدم أو الوقت أو البيانات) : إنها صفحة ديناميكية، بعكس صفحة HTML الثابتة المتطابقة دائما. فهم رياد : « مرحبا + الاسم » ليست مكتوبة يدويا، بل تُولَّد مع كل زيارة.
3. لغة واسعة الانتشار وحديثة
تُشغِّل PHP حصة ضخمة من الويب — منها WordPress الذي يُشغِّل وحده نسبة هائلة من المواقع — إضافة إلى المتاجر وأنظمة إدارة المحتوى وتطبيقات الشركات، وحتى التطبيقات الكبيرة عبر أطر عمل مثل Laravel أو Symfony (المستوى 4). إنها لغة سهلة المنال (سهلة البدء)، وعملية (مصممة لإنتاج المواقع بسرعة) وناضجة : الإصدارات الحديثة (PHP 8+) سريعة وغنية (التنميط، والبرمجة كائنية التوجه الكاملة، والاستثناءات). سمعتها السيئة تأتي من إصداراتها الأولى — أما PHP الحديث فلا علاقة له بها. دوَّن رياد أسفل بطاقته في قسنطينة : تعلم PHP استثمار في سوق حي، بمفاهيم (الخادم، قاعدة البيانات، الأمان) قابلة للنقل في كل مكان.
هل تعلم؟ مطبخ الويب الخفي
الخادم يطبخ، والمتصفح لا يفعل سوى التقديم.
🔎 مثال ملموس — 🔎 مثال ملموس — ثابت مقابل ديناميكي
صفحة تتكيف مع كل زائر.
مرحبا " . $prenom . "";
// المتصفح يستلم هذا HTML فقط، وليس هذا الكود أبدا
القراءة : يطلب رياد الصفحة : يُنفِّذ الخادم الكود باسم الزائر ويُرسل HTML مخصصا.
الدرس : العنوان نفسه يُنتج HTML مختلفا حسب المستخدم — إنها صفحة ديناميكية ؛ ويبقى المنطق في مأمن على الخادم.
مفردات القسم
- PHP
- لغة برمجة تعمل على الخادم (Server) ومصممة للويب (PHP: Hypertext Preprocessor) ؛ تُنفَّذ على الخادم وتُولِّد HTML يُرسَل إلى المتصفح.
مثال بسيط: يكتب رياد صفحة تعرض اسم كل زائر مسجل في قسنطينة.
ما ليس كذلك: لغة تُنفَّذ في متصفح الزائر.
رد فعل: أمام صفحة مخصصة، اسأل « ماذا تُولِّد PHP هنا؟ ».
- جهة الخادم مقابل جهة العميل
- الخادم (PHP) : يُنفِّذ المنطق (النماذج والقاعدة والمصادقة) ويُولِّد الصفحات. العميل (المتصفح) : يعرض HTML/CSS ويُنفِّذ JavaScript.
مثال بسيط: يضع رياد التحقق من كلمة المرور على الخادم، وتحريك القائمة في المتصفح.
ما ليس كذلك: اسمان للمكان نفسه.
رد فعل: ضع كل معالجة في مكانها الصحيح : الحساس = الخادم، والتحريك = العميل.
- الدورة طلب ← PHP ← HTML
- يطلب المستخدم صفحة ← يُنفِّذ الخادم كود PHP ← تُولِّد PHP HTML ← يعرضه المتصفح. تُعاد هذه الدورة مع كل طلب.
مثال بسيط: يُعيد رياد تحميل صفحته : في كل مرة يُعيد الخادم التنفيذ ويُولِّد HTML اليوم.
ما ليس كذلك: تنفيذ واحد عند تشغيل الخادم.
رد فعل: فكِّر « مع كل طلب تُعاد الدورة ».
- صفحة ديناميكية
- صفحة يُولِّدها الخادم، وغالبا مخصصة (حسب المستخدم والبيانات) ؛ بعكس صفحة HTML الثابتة المتطابقة دائما.
مثال بسيط: يعرض رياد ملفا مختلفا لكل زائر بدلا من صفحة ثابتة.
ما ليس كذلك: ملف HTML متطابق للجميع.
رد فعل: متى تغيَّر محتوى، توقَّع توليدا على الخادم.
- مفسّر PHP
- البرنامج الذي يُنفِّذ كود PHP على الخادم ؛ لا يرى الزائر كود PHP أبدا، بل HTML الناتج فقط.
مثال بسيط: يُثبِّت رياد المفسّر محليا : ملفات .php تُنفَّذ بدلا من أن تظهر كنص.
ما ليس كذلك: المتصفح الذي يعرف قراءة PHP.
رد فعل: إذا ظهر كود PHP كنص واضح، فالمفسّر هو المفقود.
في التطبيق — عمليا — حدِّد مكان PHP ودورتها
- احفظ طبيعة PHP : لغة على الخادم (Server) (تُنفَّذ على الخادم، وليس في المتصفح) وتُولِّد HTML.
- احفظ الدورة طلب ← PHP ← HTML : مع كل طلب لصفحة، يُنفِّذ الخادم الكود ويُرسل HTML الناتج.
- افهم الفرق مع JavaScript على العميل : يرى الزائر HTML الناتج، وليس كود PHP أبدا.
- حدِّد الاستخدامات : صفحات ديناميكية ومخصصة (نماذج وحسابات وبيانات)، من المواقع الصغيرة إلى التطبيقات الكبيرة (WordPress وLaravel وSymfony).
نص جاهز — اشرح PHP لزميل (30 ثانية)
« PHP هي لغتنا على الخادم : عندما يطلب زائر صفحة، يُنفِّذ الخادم كود PHP الذي يُولِّد HTML مخصصا، ولا يعرض المتصفح سوى هذا HTML. لا يرى الزائر كودنا أبدا — لهذا نضع فيه المنطق والأمان. »
يُقال مع عرض مخطط الدورة ؛ مع التشديد على « أبدا الكود، بل النتيجة فقط ».
قالب جاهز للنسخ — أول توليد على الخادم
مرحبا " . $prenom . "";
echo "صفحة مُولَّدة على الخادم.
";
قادم من HTML الثابت
كنت تصنع صفحات ثابتة : حدِّد ما يتغير (الاسم والتاريخ والمحتوى) وأسنده إلى PHP تحديدا، والباقي يبقى HTML خالصا.
قادم من JavaScript
كنت تُحرِّك في المتصفح : أبقِ التفاعل المرئي هناك، وانقل إلى PHP كل ما يجب أن يبقى سريا (كلمات المرور والوصول إلى القاعدة والقواعد).
ثنائي في قسنطينة
يُري رياد زميله مصدر الكود الذي استلمه المتصفح (HTML فقط) مقابل ملف .php الخاص به : من يجد سطر PHP في المتصفح فقد خسر.
اختيار مشروع
قبل أي موقع : اعرض المحتويات الثابتة (HTML) والمتغيرة (PHP) — إذا كان كل شيء ثابتا فلا حاجة إلى PHP ؛ ومتى وُجدت حسابات أو نماذج أو بيانات أصبحت ضرورية.
✓ ممارسات جيدة
- ضع المنطق والأمان على الخادم (PHP)، أبدا على العميل وحده.
- فكِّر « مع كل طلب تُعاد الدورة ».
- انظر إلى PHP وJavaScript كمتكاملتين (خادم/عميل).
✗ أخطاء شائعة
- الاعتقاد أن PHP تُنفَّذ في المتصفح (بل على الخادم).
- الثقة بجهة العميل في الأمان.
- الخلط بين الصفحة الثابتة (الثابتة) والصفحة الديناميكية (المُولَّدة).
النقاط الأساسية
- PHP لغة على الخادم (Server) : تُنفَّذ على الخادم وتُولِّد HTML يُرسَل إلى العميل. لا يرى الزائر كود PHP أبدا.
- الدورة الأساسية : الطلب (المستخدم يطلب صفحة) ← PHP (الخادم يُنفِّذ الكود) ← HTML (مُولَّد ومعروض). تُعاد مع كل طلب.
- تُنتج PHP صفحات ديناميكية ومخصصة (حسب المستخدم والبيانات) — مقابل صفحة HTML الثابتة المتطابقة دائما.
- واسعة الاستخدام على الويب (WordPress وحصة كبيرة من المواقع) ؛ سهلة وعملية وناضجة (PHP 8+ سريعة). من المواقع الصغيرة إلى التطبيقات الكبيرة (Laravel وSymfony).
تحدي 48 ساعة — طبِّق غدا
افتح صفحة من اختيارك، واعرض مصدرها في المتصفح، واشرح بصوت عال لماذا لا نرى فيها أي كود PHP (الدورة طلب ← PHP ← HTML).
- أستطيع شرح PHP (لغة خادم تُولِّد HTML) مع الدورة طلب ← PHP ← HTML.
- أعرف ما يراه الزائر (HTML) وما لا يراه أبدا (كود PHP).
- أميز الصفحة الثابتة من الصفحة الديناميكية بمثال.
أسئلة شائعة
هل PHP متجاوَزة أمام تقنيات أحدث مثل Node.js أو Python؟
لا، إنها فكرة مسبقة مبنية على ماضيها. لـ PHP تاريخ طويل وإصداراتها الأولى كانت فيها عيوب حقيقية، ومن هنا سمعتها السيئة — لكن اللغة تغيرت جذريا. PHP الحديثة (7 ثم 8+) سريعة جدا (مكاسب مذهلة)، وغنية (التنميط والبرمجة كائنية التوجه الكاملة والاستثناءات والتعدادات والسمات)، مع منظومة ناضجة (Composer وLaravel وSymfony وPHPUnit) ومعايير راسخة. الاستخدام الحقيقي : تُشغِّل PHP حصة ضخمة من الويب (WordPress وحده يُشغِّل نسبة هائلة من المواقع)، وأطر العمل الحديثة المحبوبة (Laravel) تجذب مطورين جددا، والطلب على الوظائف ما زال قويا. Node.js وPython وPHP ليست « بدائل » بل خيارات بقوى مختلفة — للويب العملي، تبقى PHP خيارا ممتازا.
ما الفرق الملموس بين PHP (الخادم) وJavaScript (المتصفح)، ولماذا هذا مهم؟
عالَمان متكاملان. جهة العميل (المتصفح) : HTML وCSS وJavaScript تُنفَّذ على جهاز المستخدم ؛ وكود JS على العميل مرئي. وجهة الخادم (جهاز بعيد) : تُنفِّذ PHP المنطق الحساس (النماذج والقاعدة والمصادقة وقواعد العمل) وتُولِّد الصفحات ؛ ولا يُرسَل كود PHP أبدا إلى المتصفح، بل نتيجته HTML فقط. لماذا هذا مهم : (1) الأمان — الخادم تحت سيطرتك، والعميل ليس كذلك ؛ والعمليات الحساسة يجب أن تكون على الخادم، ويجب ألا تثق بالعميل أبدا (تحقق JavaScript يجب إعادة فحصه على الخادم — القسم 3.4). (2) الوصول إلى الموارد — الخادم يصل إلى القاعدة والملفات، وليس المتصفح. (3) التخصيص — تُولِّد PHP صفحات مختلفة حسب المستخدم والبيانات. صورة رياد : الخادم هو « المطبخ »، والعميل هو « القاعة ».
أين يُنفَّذ كود PHP؟