رحلة
تعلّم PHP
دورة PHP أونلاين مجانية وتفاعلية. تكتب PHP في كل درس — الصياغة، الدوال، المصفوفات، النماذج، الجلسات، وأساسيات بناء موقع ديناميكي — مع تلميحات بالذكاء الاصطناعي عند ظهور أي تحذير، وشهادة مجانية عند إكمال الدورة.
28,877+ من الـ codders مسجلون
- مناسب للمبتدئين
مساعدة برمجية بالذكاء الاصطناعي
دروس تفاعلية عملية
تعليق صوتي في كل درس
اختبارات لقياس معرفتك
شهادة إتمام مجانية
المنهج
قسم 1
Fundamentals
ابدأ القسمابدأتوسيعطيBuild a strong foundation with essential concepts and basic skillsمقدمة في PHP
5 درسًا331- 01لغة PHPتحدي
- 02أهلاً بالعالم!تحدياختبار
- 03الوسوم والعبارات البرمجيةاختبار
- 04التعليقاتاختبار
- 05السطر الجديدتحدياختبار
المتغيرات وأنواع البيانات
9 درسًا663- 01الأرقامتحدياختبار
- 02النصوص وعلامات الاقتباستحدياختبار
- 03القيم المنطقية (Booleans)اختبار
- 04قواعد التسميةاختبار
- 05ملخص - تهيئة المتغيراتتحدي
- 06المتغيرات الفارغةاختبار
- 07دمج النصوصتحدياختبار
- 08استقبال مدخلات المستخدمتحدياختبار
- 09تحويل أنواع البياناتتحدياختبار
المعاملات الأساسية
8 درسًا852- 01المعاملات الحسابيةتحدياختبار
- 02معامل باقي القسمةتحدياختبار
- 03معامل الأستحدياختبار
- 04التعيين المركبتحدياختبار
- 05الزيادة والنقصانتحدياختبار
- 06أسبقية المعاملاتتحدياختبار
- 07مراجعة - الحسابات البسيطةتحدي
- 08معاملات النصوصتحدياختبار
معاملات المقارنة والمنطق
5 درسًا532- 01معاملات المقارنةتحدياختبار
- 02المساواة والتطابقتحدياختبار
- 03المعاملات المنطقية - الجزء الأولتحدياختبار
- 04المعاملات المنطقية - الجزء الثانيتحدياختبار
- 05مراجعة - المنطق البسيطتحدي
المنطق الشرطي
6 درسًا639- 01جملة Ifتحدياختبار
- 02جملة If - Elseتحدياختبار
- 03العامل الثلاثي (Ternary Operator)تحدياختبار
- 04عامل Null Coalescingتحدياختبار
- 05جملة Switchتحدياختبار
- 06مراجعة - اتخاذ القراراتتحدي
المصفوفات الجزء 1 - المفهرسة
7 درسًا645- 01مقدمة في المصفوفاتاختبار
- 02إنشاء المصفوفات المفهرسةتحدياختبار
- 03الوصول إلى العناصر عبر الفهرستحدياختبار
- 04تعديل العناصر عبر الفهرستحدياختبار
- 05حجم المصفوفة باستخدام Countتحدياختبار
- 06إضافة عناصر إلى المصفوفةتحدياختبار
- 07ملخص - إدارة قائمة بسيطةتحدي
المصفوفات الجزء الثاني - الترابطية
6 درسًا540- 01مقدمة في المصفوفات الترابطيةاختبار
- 02الوصول إلى القيم عبر المفتاحتحدياختبار
- 03تعديل القيم عبر المفتاحتحدياختبار
- 04إضافة أزواج (مفتاح-قيمة) جديدةتحدياختبار
- 05التحقق من وجود المفتاحتحدياختبار
- 06ملخص - مخزن بيانات (مفتاح-قيمة)تحدي
الحلقات التكرارية
7 درسًا746- 01حلقة Forتحدياختبار
- 02حلقة Whileتحدياختبار
- 03حلقة Foreachتحدياختبار
- 04التكرار باستخدام المفاتيح والقيمتحدياختبار
- 05جملة Breakتحدياختبار
- 06جملة Continueتحدياختبار
- 07مراجعة - التكرار عبر البياناتتحدي
مشروع: قائمة مهام بسيطة
مشروع7 درسًا1- 01نظرة عامة على المشروع والبياناتتحدي
- 02إضافة مهمة جديدةمشروع
- 03عرض جميع المهاممشروع
- 04تحديد مهمة كمكتملةمشروع
- 05إزالة مهمةمشروع
- 06التصفية حسب حالة الإكمالمشروع
- 07التعامل مع حالات القائمة الفارغةمشروع
الدوال
8 درسًا857- 01التصريح بالدوال واستدعاؤهاتحدياختبار
- 02معاملات الدوالتحدياختبار
- 03إرجاع القيمتحدياختبار
- 04القيم الافتراضية للمعاملاتتحدياختبار
- 05التصريح بأنواع المعاملاتتحدياختبار
- 06التصريح بنوع القيمة المرجعةتحدياختبار
- 07نطاق المتغيراتتحدياختبار
- 08ملخص - إنشاء كود قابل لإعادة الاستخدامتحدي
التحديات النهائية
3 درسًا3- 01تحدي - حساب المضروبتحدي
- 02تحدي - أطول كلمةتحدي
- 03تحدي - عداد حروف العلةتحدي
قسم 2
Logic & Flow
ابدأ القسمابدأتوسيعطيDevelop problem-solving skills and create dynamic, interactive programsالدوال المتقدمة
9 درسًا965- 01الدوال المجهولةتحدياختبارصوت
- 02الـ Closures وكلمة 'use'تحدياختبارصوت
- 03دوال السهمتحدياختبارصوت
- 04دوال الـ Callbackتحدياختبارصوت
- 05استخدام 'call_user_func'تحدياختبارصوت
- 06دوال المتغيراتتحدياختبار
- 07التمرير بالمرجعتحدياختبار
- 08الدوال العوديةتحدياختبار
- 09مراجعة: مزيج الدوالتحدي
معالجة المصفوفات المتقدمة
10 درسًا1066- 01الإضافة باستخدام 'array_push'تحدياختبار
- 02الحذف باستخدام 'array_pop'تحدياختبار
- 03الإضافة باستخدام 'array_unshift'تحدياختبار
- 04الحذف باستخدام 'array_shift'تحدياختبار
- 05دمج المصفوفات المفهرسةتحدياختبار
- 06دمج المصفوفات الترابطيةتحدياختبار
- 07الاستخراج باستخدام 'array_slice'تحدياختبار
- 08القيم باستخدام 'in_array'تحدياختبار
- 09المفاتيح باستخدام 'array_search'تحدياختبار
- 10مراجعة: تمرين قائمة التشغيلتحدي
ترتيب المصفوفات
7 درسًا747- 01ترتيب المصفوفات المفهرسة تصاعدياًتحدياختبار
- 02ترتيب المصفوفات المفهرسة تنازلياًتحدياختبار
- 03ترتيب المصفوفات الترابطية حسب القيمةتحدياختبار
- 04ترتيب المصفوفات الترابطية حسب المفتاحتحدياختبار
- 05الترتيب بالترتيب الطبيعيتحدياختبار
- 06الترتيب المخصص باستخدام 'usort'تحدياختبار
- 07مراجعة: ترتيب لوحة المتصدرينتحدي
المصفوفات متعددة الأبعاد
6 درسًا639- 01إنشاء مصفوفة ثنائية الأبعادتحدياختبار
- 02الوصول إلى عناصر المصفوفة ثنائية الأبعادتحدياختبار
- 03تعديل عناصر المصفوفة ثنائية الأبعادتحدياختبار
- 04التكرار باستخدام الحلقات المتداخلةتحدياختبار
- 05المصفوفات الترابطية ثنائية الأبعادتحدياختبار
- 06مراجعة: تمرين الشبكة البسيطةتحدي
سجل درجات الطلاب
6 درسًا6- 01إعداد المشروع: هيكل البياناتتحدي
- 02إضافة طالب جديدتحدي
- 03إضافة درجة لطالبتحدي
- 04حساب متوسط الطالبتحدي
- 05إيجاد الطالب المتفوقتحدي
- 06إنشاء تقرير الدرجاتتحدي
دوال المصفوفات من الرتبة العليا
7 درسًا745- 01التحويل باستخدام 'array_map'تحدياختبار
- 02'array_map' مع دالة مخصصةتحدياختبار
- 03التصفية باستخدام 'array_filter'تحدياختبار
- 04'array_filter' مع دالة مخصصةتحدياختبار
- 05الاختزال باستخدام 'array_reduce'تحدياختبار
- 06المرور عبر العناصر باستخدام 'array_walk'تحدياختبار
- 07ملخص: معالجة البياناتتحدي
التعامل مع التواريخ والأوقات
6 درسًا539- 01دالة 'date()'اختبار
- 02طوابع Unix الزمنية باستخدام 'time()'تحدياختبار
- 03مقدمة إلى كائن DateTimeتحدياختبار
- 04تنسيق كائنات DateTimeتحدياختبار
- 05تعديل كائنات DateTimeتحدياختبار
- 06مراجعة: حسابات التاريختحدي
معالجة الأخطاء والاستثناءات
7 درسًا650- 01فهم أخطاء PHPاختبار
- 02كتلة 'try...catch'تحدياختبار
- 03كتلة 'finally'تحدياختبار
- 04إطلاق استثناءتحدياختبار
- 05إنشاء استثناء مخصصتحدياختبار
- 06استخدام استثناء مخصصتحدياختبار
- 07مراجعة: التحقق من صحة المدخلاتتحدي
جدولة الفعاليات
مشروع6 درسًا1- 01بيانات الفعالياتتحدي
- 02إضافة فعالية جديدةمشروع
- 03عرض الفعاليات القادمةمشروع
- 04فرز الفعاليات حسب التاريخمشروع
- 05تصفية الفعاليات حسب الشهرمشروع
- 06عرض عد تنازليمشروع
التحديات النهائية
4 درسًا4- 01تحدي: فاحص الكلمات المتناظرةتحدي
- 02تحدي: تكرار الحروفتحدي
- 03تحدي: إجمالي سلة التسوقتحدي
- 04تحدي: تصفية العناصر الفريدةتحدي
قسم 3
Object Oriented Programming
ابدأ القسمابدأتوسيعطيDiscover how to organize code with classes, objects, and reusable structuresأساسيات OOP
9 درسًا969- 01الملفات الخارجيةتحدياختبار
- 02مقدمة في OOPتحدياختبار
- 03Classes مقابل Objectsتحدياختبار
- 04الكلمة المفتاحية $thisتحدياختبار
- 05الـ Methodsتحدياختبار
- 06الـ Propertiesتحدياختبار
- 07المنشئ (__construct)تحدياختبار
- 08الهادم (__destruct)تحدياختبار
- 09مراجعة - آلة حاسبة بسيطةتحدي
مساحات الأسماء والتحميل التلقائي
5 درسًا534- 01مقدمة إلى مساحات الأسماءتحدياختبار
- 02الكلمة المفتاحية useتحدياختبار
- 03معيار التحميل التلقائي PSR-4تحدياختبار
- 04أداة التحميل التلقائي Composerتحدياختبار
- 05ملخص - مشروع منظمتحدي
خصائص الكلاس
6 درسًا644- 01خصائص الـ Instance مقابل الخصائص الساكنة (Static)تحدياختبار
- 02الثوابت في الكلاساتتحدياختبار
- 03الدوال والخصائص الساكنة (Static)تحدياختبار
- 04الخصائص الخاصة (Private) والمحمية (Protected)تحدياختبار
- 05خصائص للقراءة فقط (Readonly) في PHP 8.1تحدياختبار
- 06مراجعة - مدير الحساب البنكيتحدي
الوراثة
6 درسًا644- 01الوراثة الأساسيةتحدياختبار
- 02الكلمة المفتاحية parent::تحدياختبار
- 03إعادة تعريف الدوال (Method Overriding)تحدياختبار
- 04الكلمة المفتاحية finalتحدياختبار
- 05الأصناف المجردة (Abstract Classes)تحدياختبار
- 06مراجعة - هيكلية الموظفينتحدي
الواجهات والعقود
6 درسًا645- 01مقدمة إلى الواجهاتتحدياختبار
- 02تنفيذ الواجهاتتحدياختبار
- 03تنفيذ واجهات متعددةتحدياختبار
- 04الواجهة مقابل الـ Abstract Classتحدياختبار
- 05الـ Type Hinting مع الواجهاتتحدياختبار
- 06ملخص - حاسبة الأشكالتحدي
تعدد الأشكال (Polymorphism)
5 درسًا536- 01مراجعة إعادة تعريف الدوال (Method Overriding)تحدياختبار
- 02تعدد الأشكال عبر الـ Interfacesتحدياختبار
- 03تلميح النوع (Type Hinting) وأنواع الاتحاد (Union Types)تحدياختبار
- 04الربط الاستاتيكي المتأخر (Late Static Binding)تحدياختبار
- 05ملخص - معالج الدفع (Payment Processor)تحدي
التغليف (Encapsulation)
6 درسًا645- 01العام، المحمي، الخاص (Public, Protected, Private)تحدياختبار
- 02نظرة متعمقة على معدلات الوصولتحدياختبار
- 03دوال Getters و Settersتحدياختبار
- 04إخفاء المعلوماتتحدياختبار
- 05ميزة Constructor Promotion (8.0)تحدياختبار
- 06مراجعة - نظام سجلات الطلابتحدي
الميثودات السحرية (Magic Methods)
7 درسًا753- 01مقدمة في الميثودات السحريةتحدياختبار
- 02__toString و __debugInfoتحدياختبار
- 03__get, __set, __isset, __unsetتحدياختبار
- 04__call و __callStaticتحدياختبار
- 05__clone واستنساخ الكائناتتحدياختبار
- 06__serialize و __unserializeتحدياختبار
- 07مراجعة - Custom Collectionتحدي
السمات (Traits)
5 درسًا544- 01مقدمة إلى السماتتحدياختبار
- 02استخدام سمات متعددةتحدياختبار
- 03حل تعارض السماتتحدياختبار
- 04الدوال المجردة في السماتتحدياختبار
- 05السمات مقابل الوراثةتحدياختبار
مفاهيم البرمجة كائنية التوجه المتقدمة
7 درسًا761- 01التركيب مقابل الوراثةتحدياختبار
- 02حقن التبعيةتحدياختبار
- 03الأصناف المجهولةتحدياختبار
- 04التعدادات (PHP 8.1)تحدياختبار
- 05الألياف (PHP 8.1)تحدياختبار
- 06تعمق في استنساخ الكائناتتحدياختبار
- 07المولدات والمكرراتتحدياختبار
نظام الأنواع ومعالجة الأخطاء
7 درسًا754- 01تصريحات الأنواعتحدياختبار
- 02الأنواع القابلة للقيمة Nullتحدياختبار
- 03أنواع الاتحاد والتقاطعتحدياختبار
- 04فئات الاستثناءاتتحدياختبار
- 05تسلسل الاستثناءات المخصصةتحدياختبار
- 06Try, Catch, Finallyتحدياختبار
- 07مراجعة - مدقق النماذجتحدي
أنماط التصميم - الجزء الأول
5 درسًا546- 01مقدمة في أنماط التصميمتحدياختبار
- 02نمط Singletonتحدياختبار
- 03نمط Factoryتحدياختبار
- 04نمط Observerتحدياختبار
- 05نمط Strategyتحدياختبار
أنماط التصميم - الجزء الثاني
7 درسًا764- 01نمط الأمرتحدياختبار
- 02نمط المحولتحدياختبار
- 03نمط المزينتحدياختبار
- 04نمط طريقة القالبتحدياختبار
- 05نمط الحالةتحدياختبار
- 06نمط التركيبتحدياختبار
- 07نمط المستودعتحدياختبار
مشروع: إدارة المكتبة
مشروع6 درسًا1- 01نظرة عامة على المشروعتحدي
- 02فئات الكتاب والمستخدممشروع
- 03نظام الاستعارةمشروع
- 04خاصية البحثمشروع
- 05واجهة المسؤولمشروع
- 06الاختبار والتكاملمشروع
التحديات النهائية
4 درسًا4- 01منصة التعليم الإلكترونيتحدي
- 02النظام المصرفيتحدي
- 03تطوير شخصيات الألعابتحدي
- 04خدمة تأجير المركباتتحدي
لماذا تتعلم PHP مع Coddy
- شغّل كود PHP حقيقيًا داخل متصفحك. لا XAMPP ولا Apache ولا خادم محلي لإعداده. كل درس يُشغّل كود PHP على الخادم ويعرض لك النتيجة فورًا.
- PHP للويب كما يُستخدم فعليًا اليوم: المتغيرات، التحكم في التدفق، الدوال، المصفوفات، الـ includes، النماذج، superglobals، الجلسات، وأنماط قواعد البيانات الأساسية. أساسيات PHP التي يحتاجها كل مطوّر ويب.
- تلميحات الذكاء الاصطناعي تساعدك على تصحيح أخطاء PHP وفهم التحذيرات دون أن تكشف لك الإجابة، فتتحول المشاكل الشائعة مثل undefined indexes وأخطاء علامات الاقتباس إلى فرص للتعلّم بدل أن تكون طرقًا مسدودة.
- شهادة PHP مجانية عند إتمام الدورة. دليل موثوق يفيدك في وظائف تطوير الويب وWordPress وLaravel، حيث لا تزال PHP متطلباً أساسياً.
أسئلة شائعة حول تعلّم PHP
هل PHP سهل التعلم؟
PHP من أسهل اللغات للبدء بها. صياغتها متسامحة، ويمكنك دمجها مباشرة داخل HTML، وترى النتائج في المتصفح فورًا. معظم المبتدئين يبنون صفحة PHP تعمل خلال الساعة الأولى. أما الأجزاء الأكثر تعقيدًا (الأمان، الجلسات، التعامل مع قواعد البيانات) فتأتي لاحقًا وتُقدَّم تدريجيًا.
هل لا يزال تعلّم PHP يستحق العناء في 2026؟
نعم. لا يزال PHP يشغّل شريحة كبيرة من الويب — WordPress وحده يدير نحو 40% من جميع المواقع، وأُطر مثل Laravel وSymfony في حالة جيدة ونشطة. سواء كنت تستهدف تطوير WordPress، أو العمل في وكالات الويب، أو أي backend يتعامل مع MySQL، فإن PHP مهارة عملية جدًا.
كم من الوقت يستغرق تعلّم PHP؟
أساسيات PHP — المتغيرات، الجمل الشرطية، الحلقات، الدوال، المصفوفات — تحتاج إلى أسبوع أو أسبوعين من الممارسة اليومية. أما بناء موقع ديناميكي صغير يحتوي على نماذج وجلسات واستعلامات لقاعدة البيانات فيستغرق عادةً من شهر إلى ثلاثة أشهر إضافية. والتعمق في تطوير Laravel أو WordPress مسار منفصل بحد ذاته.
ما الفرق بين PHP و HTML؟
HTML هي لغة ترميز تصف بنية صفحة الويب. أما PHP فهي لغة برمجة تعمل على الخادم وتُولِّد HTML قبل أن تصل إلى المتصفح — وبهذه الطريقة تُنتج صفحات ديناميكية، وتسجّل دخول المستخدمين، وتحفظ بيانات النماذج، وما إلى ذلك. وهما تعملان معاً: HTML للتنسيق، وPHP للمنطق.
هل يمكنني تعلّم PHP عبر الإنترنت مجاناً؟
نعم. دورة PHP التفاعلية مجانية — دروس وتمارين برمجية واختبارات وشهادة. يعمل PHP من جهة الخادم في بيئة معزولة (sandbox)، لذا لست بحاجة إلى تثبيت Apache أو MySQL أو XAMPP محلياً لتبدأ البرمجة.
هل أحصل على شهادة PHP بعد إنهاء الدورة؟
نعم. بإنهاء دورة PHP تحصل على شهادة إتمام مجانية يمكنك إضافتها إلى سيرتك الذاتية أو مشاركتها على LinkedIn — مفيدة إلى جانب مواقع WordPress أو تطبيقات Laravel أو أي مشاريع ويب أنجزتها لمعرض أعمالك.