Object & Classes in PHP

 


Object & Classes in PHP




قائمة المصطلحات والتعريفات: 

المصطلح باللغة العربية

المصطلح باللغة الإنجليزية

التعريف

كائن

Object

هو كيان يمثل حالة معينة ويحتوي على بيانات (خصائص) ووظائف (طرق).

فئة

Class

هي قالب يتم استخدامه لإنشاء كائنات متشابهة تحتوي على خصائص وطرق محددة مسبقا

وراثة

Inheritance

هي مفهوم يسمح لفئة فرعية باكتساب خصائص وطرق فئة رئيسية.

تعدد الأشكال

Polymorphism

هو قدرة كائنات مختلفة من فئات مختلفة على الاستجابة لنفس الرسالة (استدعاء طريقة) بطرق مختلفة.

Magic Methods

Magic Methods

هي طرق خاصة في PHP تبدأ بشرطتين سفليتين (__)، وتستخدم لأغراض خاصة مثل البناء والتدمير والتفاعل مع الخصائص والطرق غير الموجودة.


 

المقدمة:

تعتبر الكائنات والفئات من أهم المفاهيم التي يجب على المطورين فهمها بشكل جيد. تسمح هذه المفاهيم بتنظيم الكود, وإعادة استخدامها بسهولة

 تهدف الوثيقة إلى توضيح مفهوم الكائنات والكلاسات في لغة البرمجة PHP بشكل مبسط، مع تقديم أمثلة



ما هي الكائنات والفئات (class & object):

  1. الكائنات (Objects)


الكائن هو جزء مستقل يحتوي على بيانات ووظائف تتعلق بها. يمكن اعتباره مثيلاً (instance) لفئة معينة.


  1. الفئات (Classes):


الفئة هي قالب أو مخطط يمكن من خلاله إنشاء كائنات. تحتوي الفئة على خصائص (Attributes) وطرق (Methods) تحدد سلوك الكائنات التي تنتمي إليها.



إنشاء الفئات والكائنات في PHP:


لإنشاء فئة في PHP، نستخدم الكلمة المحجوزة class متبوعة باسم الفئة. لإنشاء كائن من هذه الفئة، نستخدم الكلمة المحجوزة new متبوعة باسم الفئة.

<?php

class Home {

    // خصائص الفئة

    public $color;

    public $model;


    // طريقة البناء

    public function __construct($color, $model) {

        $this->color = $color;

        $this->model = $model;

    }


    //  عرض تفاصيل المنزل

    public function displayDetails() {

        return "This Home is a " . $this->color . " " . $this->model . ".";

    }

}


// إنشاء كائن من الفئة Home

$myHome = new Home("red", "Smart");

echo $myHome->displayDetails(); 

?>



 الخصائص والطرق في الفئات:

  1. الخصائص (Properties):


هي المتغيرات التي يتم تعريفها داخل الفئة وتصف حالة الكائن.


  1. الطرق (Methods):


هي الدوال التي يتم تعريفها داخل الفئة وتحدد سلوك الكائن.


الوراثة في PHP


الوراثة هي مفهوم يسمح بإنشاء فئات جديدة تعتمد على فئات موجودة، مما يمكننا من إعادة استخدام الشيفرة وتوسيعها.

<?php

class ElectricHome extends Home {

    public $batteryLife;


    public function __construct($color, $model, $batteryLife) {

        parent::__construct($color, $model); // هنا يتم استدعاء constructor الاب 

        $this->batteryLife = $batteryLife;

    }


    public function displayDetails() {

        return parent::displayDetails() . " It has a battery life of " . $this->batteryLife . " hours.";

    }

}


$myElectricHome = new ElectricHome("blue", "Smart small", 24);

echo $myElectricHome->displayDetails(); 

?>


Magic Methods:


هي طرق خاصة تبدأ بشرطتين سفليتين (__)، وتستخدم لأغراض خاصة مثل البناء والتدمير والتفاعل مع الخصائص والطرق غير الموجودة.

<?php

class Test {

    private $data = array();


    public function __set($name, $value) {

        $this->data[$name] = $value;

    }


    public function __get($name) {

        return isset($this->data[$name]) ? $this->data[$name] : null;

    }

}


$obj = new Test();

$obj->name = "Muhmad Omar";

echo $obj->name; // Muhmad Omar

?>


تعددية الأشكال (Polymorphism) في PHP

تعددية الأشكال هي أحد المبادئ الأساسية في البرمجة كائنية التوجه (OOP)، وتسمح للكائنات من فئات مختلفة بالاستجابة لنفس النداء بطرق مختلفة. بمعنى آخر، يمكن استخدام نفس اسم الدالة (Method) لكن بسلوك مختلف حسب الفئة التي تنتمي إليها.


في PHP، تتحقق تعددية الأشكال غالبًا من خلال الوراثة وإعادة تعريف الطرق (Method Overriding)، حيث تقوم الفئة الابنة بتقديم تنفيذ خاص بها لطريقة موجودة في الفئة الأب.

مثال على تعددية الأشكال في PHP

<?php

class Home {

    public function getEnergySource() {

        return "Generic energy source";

    }

}


class ElectricHome extends Home {

    public function getEnergySource() {

        return "Electric energy";

    }

}


class SolarHome extends Home {

    public function getEnergySource() {

        return "Solar energy";

    }

}


// استخدام تعددية الأشكال

$homes = [

    new Home(),

    new ElectricHome(),

    new SolarHome()

];


foreach ($homes as $home) {

    echo $home->getEnergySource() . "<br>";

}

?>


 رغم أن جميع الكائنات يتم التعامل معها على أنها من نوع Home،
إلا أن PHP تستدعي التنفيذ المناسب للدالة حسب نوع الكائن الفعلي.

فائدة تعددية الأشكال

  • تسهيل توسيع النظام دون تعديل الكود القديم

  • تقليل الاعتمادية بين الفئات

  • جعل الكود أكثر مرونة وقابلية للصيانة

  • دعم مبدأ Open/Closed Principle (مفتوح للتوسعة، مغلق للتعديل)






  1. المراجع


اسم المرجع

الرابط

tutorialspoint

tutorialspoint

w3schools

w3schools

php

php



Object & Classes in PHP Object & Classes in PHP بواسطة Remocolla Academy في يناير 16, 2026 تقييم: 5

ليست هناك تعليقات:

يتم التشغيل بواسطة Blogger.