دروس PHP

PHP الرئيسية مقدمة PHP تثبيت PHP بناء جملة PHP تعليقات PHP متغيرات PHP PHP صدى / طباعة أنواع بيانات PHP سلاسل PHP أرقام PHP PHP الرياضيات ثوابت PHP مشغلي PHP PHP إذا ... آخر ... Elseif مفتاح PHP حلقات PHP وظائف PHP مصفوفات PHP PHP Superglobals PHP RegEx

نماذج PHP

معالجة نموذج PHP التحقق من صحة نموذج PHP نموذج PHP مطلوب نموذج PHP URL / البريد الإلكتروني اكتمل نموذج PHP

PHP متقدم

تاريخ ووقت PHP تضمين PHP معالجة ملفات PHP فتح / قراءة ملف PHP إنشاء / كتابة ملف PHP تحميل ملف PHP ملفات تعريف الارتباط PHP جلسات PHP مرشحات PHP مرشحات PHP متقدم وظائف رد الاتصال PHP PHP JSON استثناءات PHP

PHP OOP

PHP ما هو OOP فئات / كائنات PHP منشئ PHP مدمر PHP معدِّلات الوصول إلى PHP الوراثة PHP ثوابت PHP فئات مجردة PHP واجهات PHP سمات PHP طرق PHP الثابتة خصائص PHP الثابتة مساحات أسماء PHP PHP تكرارات

قاعدة بيانات MySQL

قاعدة بيانات MySQL اتصال MySQL إنشاء قاعدة بيانات MySQL إنشاء جدول MySQL MySQL إدراج البيانات MySQL الحصول على آخر معرف إدراج عدة MySQL تم تجهيز MySQL MySQL حدد البيانات MySQL أين ترتيب MySQL حسب MySQL حذف البيانات تحديث بيانات MySQL بيانات MySQL المحدودة

لغة PHP XML

موزعي PHP XML محلل PHP SimpleXML PHP SimpleXML - احصل على PHP XML Expat PHP XML DOM

PHP - أجاكس

مقدمة أجاكس أجاكس بي إتش بي قاعدة بيانات أجاكس AJAX XML بحث أجاكس لايف استطلاع أجاكس

أمثلة PHP

أمثلة PHP مترجم PHP اختبار PHP تمارين PHP شهادة PHP

مرجع PHP

نظرة عامة على PHP صفيف PHP تقويم PHP تاريخ PHP دليل PHP خطأ PHP استثناء PHP نظام ملفات PHP مرشح PHP PHP FTP PHP JSON كلمات PHP PHP Libxml PHP Mail PHP الرياضيات متفرقات PHP PHP MySQLi شبكة PHP التحكم في إخراج PHP PHP RegEx PHP SimpleXML PHP ستريم سلسلة PHP معالجة متغيرة PHP محلل PHP XML PHP Zip المناطق الزمنية PHP

PHP OOP - فئات وكائنات


الفئة عبارة عن قالب للكائنات ، والكائن هو مثيل للفئة.


حالة OOP

لنفترض أن لدينا فئة تسمى الفاكهة. يمكن أن تحتوي الفاكهة على خصائص مثل الاسم واللون والوزن وما إلى ذلك. يمكننا تحديد متغيرات مثل $ name و $ color و $ weight للاحتفاظ بقيم هذه الخصائص.

عندما يتم إنشاء الكائنات الفردية (تفاحة ، موزة ، إلخ) ، فإنها ترث جميع الخصائص والسلوكيات من الفصل ، ولكن كل كائن سيكون له قيم مختلفة للخصائص.


حدد فئة

يتم تعريف الفئة باستخدام class الكلمة الأساسية ، متبوعة باسم الفئة وزوج من الأقواس المتعرجة ({}). تدخل جميع خصائصه وطرقه داخل الأقواس:

بناء الجملة

<?php
class Fruit {
  // code goes here...
}
?>

نعلن أدناه عن فئة باسم Fruit تتكون من خاصيتين ($ name و $ color) وطريقتين set_name () و get_name () لإعداد والحصول على خاصية $ name:

<?php
class Fruit {
  // Properties
  public $name;
  public $color;

  // Methods
  function set_name($name) {
    $this->name = $name;
  }
  function get_name() {
    return $this->name;
  }
}
?>

ملحوظة: في الفصل ، تسمى المتغيرات بالخصائص وتسمى الوظائف بالوظائف!


تحديد الكائنات

الطبقات لا تخلو من الأشياء! يمكننا إنشاء كائنات متعددة من الفصل. يحتوي كل كائن على جميع الخصائص والأساليب المحددة في الفئة ، ولكن سيكون لها قيم خصائص مختلفة.

يتم إنشاء كائنات الفصل باستخدام newالكلمة الأساسية.

في المثال أدناه ، $ apple و $ banana مثالان لفئة Fruit:

مثال

<?php
class Fruit {
  // Properties
  public $name;
  public $color;

  // Methods
  function set_name($name) {
    $this->name = $name;
  }
  function get_name() {
    return $this->name;
  }
}

$apple = new Fruit();
$banana = new Fruit();
$apple->set_name('Apple');
$banana->set_name('Banana');

echo $apple->get_name();
echo "<br>";
echo $banana->get_name();
?>

في المثال أدناه ، أضفنا طريقتين أخريين إلى فئة Fruit ، لتعيين خاصية $ color والحصول عليها:

مثال

<?php
class Fruit {
  // Properties
  public $name;
  public $color;

  // Methods
  function set_name($name) {
    $this->name = $name;
  }
  function get_name() {
    return $this->name;
  }
  function set_color($color) {
    $this->color = $color;
  }
  function get_color() {
    return $this->color;
  }
}

$apple = new Fruit();
$apple->set_name('Apple');
$apple->set_color('Red');
echo "Name: " . $apple->get_name();
echo "<br>";
echo "Color: " . $apple->get_color();
?>


PHP - $ هذه الكلمة الرئيسية

تشير الكلمة الأساسية $ this إلى الكائن الحالي ، ولا تتوفر إلا في العمليات الداخلية.

ننظر إلى المثال التالي:

مثال

<?php
class Fruit {
  public $name;
}
$apple = new Fruit();
?>

إذن ، أين يمكننا تغيير قيمة خاصية $ name؟ هناك طريقتان:

1. داخل الفصل (عن طريق إضافة طريقة set_name () واستخدام $ this):

مثال

<?php
class Fruit {
  public $name;
  function set_name($name) {
    $this->name = $name;
  }
}
$apple = new Fruit();
$apple->set_name("Apple");

echo $apple->name;
?>

2. خارج الفصل (عن طريق تغيير قيمة العقار مباشرة):

مثال

<?php
class Fruit {
  public $name;
}
$apple = new Fruit();
$apple->name = "Apple";

echo $apple->name;
?>

PHP - مثال

يمكنك استخدام instanceofالكلمة الأساسية للتحقق مما إذا كان الكائن ينتمي إلى فئة معينة:

مثال

<?php
$apple = new Fruit();
var_dump($apple instanceof Fruit);
?>