/ دورة PHP الشاملة
0/17 مكتملة
🏆 الدرس الأخير — 16 من 17

مراجعة شاملة واختبار نهائي

راجع كل ما تعلمته ثم اجتز الاختبار النهائي للحصول على شهادة إتمام الدورة

⏱️ 30 دقيقة للاختبار 📝 20 سؤالاً 🏅 70% للنجاح 🎓 شهادة إتمام

مراجعة شاملة للدورة

قبل الاختبار، راجع أهم النقاط من كل درس:

🔧 إعداد البيئة (درس 00)

  • XAMPP = Apache + MySQL + PHP
  • ملفات المشاريع في htdocs/
  • الوصول عبر localhost/project/
  • PHP Intelephense أفضل إضافة VS Code

📦 المتغيرات والأنواع (درس 02)

  • $var = value; — لا تصريح بالنوع
  • أنواع: int, float, string, bool, null, array
  • gettype() وvar_dump() للفحص
  • Type juggling — PHP تُحوّل تلقائياً

🔀 الشروط والحلقات (درس 04-05)

  • if / elseif / else
  • switch / match (match أدق)
  • for / foreach / while / do-while
  • break / continue للتحكم

⚙️ الدوال (درس 06)

  • تصريح الأنواع: function f(int $x): string
  • Default values: function f($x = 5)
  • Arrow functions: fn($x) => $x * 2
  • Closures وـ use() للمتغيرات الخارجية

📚 المصفوفات (درس 07)

  • Indexed: [1,2,3]
  • Associative: ['key' => 'val']
  • Multidimensional: مصفوفات داخل مصفوفات
  • array_map, array_filter, usort

🏗️ OOP (درس 09)

  • Class + Properties + Methods
  • public / private / protected
  • Inheritance: extends
  • Interface + Abstract Class

🌐 Superglobals (درس 11)

  • $_GET — من URL
  • $_POST — من form
  • $_SESSION — جلسات
  • $_COOKIE / $_SERVER / $_FILES

🗄️ قاعدة البيانات (درس 13-15)

  • PDO أفضل من mysqli
  • Prepared Statements ضد SQL Injection
  • CRUD: INSERT / SELECT / UPDATE / DELETE
  • Indexes لتسريع الاستعلامات
🔒 قواعد الأمان الذهبية
  • SQL Injection: استخدم Prepared Statements دائماً
  • XSS: استخدم htmlspecialchars() عند عرض أي مدخل في HTML
  • Passwords: password_hash() للتخزين، password_verify() للتحقق
  • Sessions: session_regenerate_id(true) بعد تسجيل الدخول
  • CSRF: Token سري في كل form يُعدّل بيانات
  • Uploads: تحقق من نوع الملف والحجم قبل الحفظ

🏆 الاختبار النهائي

20 سؤالاً يغطي كل محاور الدورة. تحتاج 70% أو أكثر للنجاح والحصول على الشهادة.

📝 20 سؤال ⏱️ 30 دقيقة ✅ 14/20 للنجاح (70%) 🔄 عدد غير محدود للمحاولات
01
Setup
ما المجلد الصحيح لوضع مشاريع PHP في XAMPP على Windows؟
02
Variables
ما ناتج تنفيذ هذا الكود؟
$x = "5"; $y = 3; echo $x + $y;
03
Operators
ما الفرق بين == و === في PHP؟
04
Loops
ما ناتج هذا الكود؟
$sum = 0; for ($i = 1; $i <= 5; $i++) { if ($i === 3) continue; $sum += $i; } echo $sum;
05
Functions
ما ناتج هذا الكود؟
function double(int $n): int { return $n * 2; } $result = array_map('double', [1, 2, 3, 4]); echo array_sum($result);
06
Arrays
ما الدالة التي تُزيل العناصر المكررة من مصفوفة؟
07
Strings
ما ناتج: echo str_replace(['a','e','i'], '*', "PHP is great");
08
OOP
ما الكلمة المفتاحية لاستدعاء constructor الـ parent class من الـ child class؟
09
Forms
ما الـ attribute المطلوب في فورم HTML لرفع الملفات؟
10
Superglobals
لماذا يجب استدعاء session_start() في أول سطر من الصفحة؟
11
Security
ما الهجوم الذي تحميه Prepared Statements؟
12
Security
ما الدالة الصحيحة لتشفير كلمة المرور قبل تخزينها في قاعدة البيانات؟
13
Database
ما الفرق بين fetch() و fetchAll() في PDO؟
14
Database
ما نوع البيانات المناسب لتخزين أسعار المنتجات في MySQL؟
15
Database
ما فائدة FOREIGN KEY في MySQL؟
16
CRUD
ما الكود الصحيح لحساب عدد الصفحات في Pagination؟
17
Optimization
ما الأمر SQL الذي يُظهر كيف MySQL تنفّذ استعلاماً وهل تستخدم Index؟
18
OOP
ما الفرق بين Abstract Class و Interface في PHP؟
19
Transactions
إذا فشل أحد الاستعلامات داخل Transaction، ما الدالة التي تُلغي كل التغييرات السابقة؟
20
General
ما الدالة PHP التي تُوجّه المستخدم لصفحة أخرى؟
🏆

مبروك! أتممت دورة PHP الشاملة

إعداد XAMPP المتغيرات والأنواع الشروط والحلقات الدوال والـ Closures المصفوفات والـ Strings OOP كاملة النماذج والـ Superglobals MySQL + PDO CRUD Operations SQL Injection Protection Indexes والتحسين Normalization