الملفات الخارجية
جزء من قسم Object Oriented Programming في رحلة PHP على Coddy — الدرس 1 من 91.
تسمح لك الملفات الخارجية بتنظيم فئاتك (classes) في ملفات PHP منفصلة وتضمينها في برنامجك الرئيسي باستخدام require_once.
أنشئ ملف PHP منفصل باسم my_class.php
<?php
class MyClass {
// جسم الفئة
}قم بتضمين الملف في ملفك الرئيسي باستخدام require_once
<?php
require_once 'my_class.php';الآن يمكنك استخدام الفئة (class) في ملفك الرئيسي
$obj = new MyClass();
echo get_class($obj);الناتج:
MyClassتقوم عبارة require_once 'my_class.php'; بربط ملف my_class.php ببرنامجك. يجب أن يتضمن اسم الملف امتداد .php وأن يكون محاطاً بعلامات اقتباس. تضمن require_once تحميل الملف مرة واحدة فقط، حتى لو ظهرت العبارة عدة مرات.
التحدي
متوسطلقد تم تزويدك بملفات PHP (my_class.php و driver.php). أضف جملة require_once الصحيحة في ملف driver.php لربط الملفات واستخدام الفئة (class) من الملف الخارجي!
ورقة مرجعية
استخدم require_once لتضمين ملفات PHP خارجية في برنامجك الرئيسي:
require_once 'my_class.php';يجب أن يتضمن اسم الملف امتداد .php وأن يكون محاطاً بعلامات اقتباس. تضمن require_once تحميل الملف مرة واحدة فقط، حتى لو ظهرت العبارة عدة مرات.
مثال على استخدام فئة (class) من ملف خارجي:
<?php
require_once 'my_class.php';
$obj = new MyClass();
echo get_class($obj); // المخرجات: MyClassجرّب بنفسك
<?php
// TODO: أضف جملة require_once لتضمين my_class.php
$testCase = trim(fgets(STDIN));
$obj = new MyClass();
echo "Test completed\n";
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Object Oriented Programming
1أساسيات OOP
الملفات الخارجيةمقدمة في OOPClasses مقابل Objectsالكلمة المفتاحية $thisالـ Methodsالـ Propertiesالمنشئ (__construct)الهادم (__destruct)مراجعة - آلة حاسبة بسيطة4الوراثة
الوراثة الأساسيةالكلمة المفتاحية parent::إعادة تعريف الدوال (Method Overriding)الكلمة المفتاحية finalالأصناف المجردة (Abstract Classes)مراجعة - هيكلية الموظفين7التغليف (Encapsulation)
العام، المحمي، الخاص (Public, Protected, Private)نظرة متعمقة على معدلات الوصولدوال Getters و Settersإخفاء المعلوماتميزة Constructor Promotion (8.0)مراجعة - نظام سجلات الطلاب10مفاهيم البرمجة كائنية التوجه المتقدمة
التركيب مقابل الوراثةحقن التبعيةالأصناف المجهولةالتعدادات (PHP 8.1)الألياف (PHP 8.1)تعمق في استنساخ الكائناتالمولدات والمكررات13أنماط التصميم - الجزء الثاني
نمط الأمرنمط المحولنمط المزيننمط طريقة القالبنمط الحالةنمط التركيبنمط المستودع2مساحات الأسماء والتحميل التلقائي
مقدمة إلى مساحات الأسماءالكلمة المفتاحية useمعيار التحميل التلقائي PSR-4أداة التحميل التلقائي Composerملخص - مشروع منظم5الواجهات والعقود
مقدمة إلى الواجهاتتنفيذ الواجهاتتنفيذ واجهات متعددةالواجهة مقابل الـ Abstract Classالـ Type Hinting مع الواجهاتملخص - حاسبة الأشكال8الميثودات السحرية (Magic Methods)
مقدمة في الميثودات السحرية__toString و __debugInfo__get, __set, __isset, __unset__call و __callStatic__clone واستنساخ الكائنات__serialize و __unserializeمراجعة - Custom Collection3خصائص الكلاس
خصائص الـ Instance مقابل الخصائص الساكنة (Static)الثوابت في الكلاساتالدوال والخصائص الساكنة (Static)الخصائص الخاصة (Private) والمحمية (Protected)خصائص للقراءة فقط (Readonly) في PHP 8.1مراجعة - مدير الحساب البنكي6تعدد الأشكال (Polymorphism)
مراجعة إعادة تعريف الدوال (Method Overriding)تعدد الأشكال عبر الـ Interfacesتلميح النوع (Type Hinting) وأنواع الاتحاد (Union Types)الربط الاستاتيكي المتأخر (Late Static Binding)ملخص - معالج الدفع (Payment Processor)