بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
الحمد لله افتحت هذا الموضوع لان بعض المبتدئيين يجدون صعوبة في تعلم oop :wacko:
وسوف اشرحه لكم بطريقة مبسطة وسلسة ان شاء الله :happy:
قبل مانبدا نقول الدعاء : "اللهم لا سهل إلا ما جعلته سهلاً، وأنت تجعل الحزن إذا شئت سهلاً"
بداية نقوم بتعريف الـ oop
ماهى الـ OOP؟
الحروف OOP اختصار لـ Object-oriented programming
وهي في نظرتي المتواضعة وسيلة لجعل البرمجة اكثر مرونة وفهم وسهولة
وهى ايضا عبارة عن قالب (يسمى class) يضم بداخله عدة دوال (نطلق عليها الإسم methods) وعدة متغيرات (يطلق عليها المسمى properties
نبدا على بركة الله :
الان فقط سوف نشرح المبادئ البسيطة
المهم
هناك شيئ اسمه object وبالعربية هو الكائن
ماهو الـ object
الـ
object هو متغيير نستطيع عن طريقه الوصول لمحتويات القالب الذى نقوم بإنشائه.
عن طريق الـ object نستطيع الوصول لكل دوال ومتغيرات القالب.
(اقصد بكلمة قالب مايعرف فى برمجة الـ OOP بإسم class)
اذن كيف انشئ object؟
اول شئ لتنشئ object يجب ان يكون هناك class
اذن لننشئ class
class arabteam{
// هنا تضع محتوى الكلاس
}واسم الكلاس او القالب في الكود اعلاه هو : arabteam
الان بعد ماانشانا كلاس نستطيع ان نقوم بانشاء object
وطبعا كما قلنا فائدة الـ object يشغل الكلاس ويعرض المحتويات التي في الكلاس
ويكتب بهذه الطريقة :
$object = new arabteam;
نكتب المتغير ونسميه باي اسم ثم نكتب بعدها new واسم الكلاس وهو arabteamط
اظن كل شئ بسيط حتى الأن, :)
المهم قمنا بتشغيل الكلاس
طيب كيف انشئ properties لهذا الـ object ؟
هذا يتم عن طريق الكلاس نفسه (سوف اتابع بقية الشرح بنفس المثال الذى تم استخدامه بأول الدرس :sleep: )
class arabteam{
//declear an property to this class
public $property = 'this is a property';
}هكذا تم اضافة متغيير او خاصية او property للـ object الخاص بهذا الكلاس.
ولاحظ اننا وضعنا كلمة public قبل اسم المتغيير نفسه.
ونصل اليه بالشكل التالى كامثال
$object = new arabteam; echo $object->property;
لاحظ استخدامنا للعلامة ->
هذه العلامة هى مانستخدمها للوصول لخصائص الكلاس او الـ object
كما يمكننا ايضا ان نغيير قيمة هذا المتغيير خارج الـ class بالشكل التالى
echo $object->property; $object->property = '<br />this property have been changed'; echo $object->property;
كما يمكننا بنفس الطريقة ان ننشئ او نستدعى دوال هذا القالب.
لنأخذ مثال
class arabteam{
//declear an property to this class
public $property = 'this is a property';
//هذه الدالة لا تأخذ اى معطيات
//لكنها فقط تعود لنا بقيمة المتغيير
//$property
function getProperty(){
return $this->property;
}
}
$object = new arabteam;
echo $object->getProperty();
$object->property = '<br />this property have been changed';
echo $object->getProperty();لاحظ عندما اردنا استدعاء المتغيير property داخل الكلاس نفسه كيف استدعيناه؟
لقد استدعيناه عن طريق الكلمة
$this
وهذه الكلمة ترمز للكلاس نفسه, او الـ object
يعنى عندما نستدعى متغيير ما, او دالة ما ونحن داخل المتغيير نستدعيها بالشكل التالى
//لإستدعاء دالة $this->method_name_here()
ولإستدعاء متغيير
$this->property_name_here;
ومنكون اكتفينا من الدرس البسيط لهذا اليوم
ارجو ان بكون الدرس سهل
ولا احلل نقل الموضوع بدون ذكر المصدر
:mad:

