Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

المنشئ (__construct)

جزء من قسم Object Oriented Programming في رحلة PHP على Coddy — الدرس 7 من 91.

طريقة __construct هي طريقة خاصة تعمل تلقائياً عند إنشاء كائن جديد. تقوم بتهيئة خصائص الكائن.

إليك مثال على فئة (class) مع دالة بناء (constructor):

<?php
class Dog {
    public $name;
    public $breed;

    public function __construct($name, $breed) {
        $this->name = $name;
        $this->breed = $breed;
    }
}

تأخذ الدالة __construct معاملات وتقوم بتعيينها للخصائص باستخدام $this.

قم بإنشاء كائنات باستخدام المنشئ (constructor):

$rex = new Dog("Rex", "German Shepherd");
$buddy = new Dog("Buddy", "Golden Retriever");

عندما تستدعي new Dog("Rex", "German Shepherd")، يقوم PHP تلقائياً باستدعاء __construct ويمرر الوسائط.

الوصول إلى الخصائص التي تم تعيينها بواسطة المنشئ (constructor):

echo $rex->name . "\n";
echo $rex->breed . "\n";
echo $buddy->name . "\n";
echo $buddy->breed . "\n";

المخرجات:

Rex
German Shepherd
Buddy
Golden Retriever

يمكنك أيضاً الحصول على دالة بناء (constructor) بقيم افتراضية للمعاملات:

class Cat {
    public $name;
    public $age;

    public function __construct($name, $age = 1) {
        $this->name = $name;
        $this->age = $age;
    }
}

$fluffy = new Cat("Fluffy", 3);
$whiskers = new Cat("Whiskers");  // age defaults to 1

echo $fluffy->name . " is " . $fluffy->age . " years old\n";
echo $whiskers->name . " is " . $whiskers->age . " years old\n";

المخرجات:

Fluffy is 3 years old
Whiskers is 1 years old

نقطة رئيسية: تضمن طريقة __construct أن كل كائن يتم إعداده بشكل صحيح ببياناته الأولية عند إنشائه. فهي توفر عليك عناء تعيين الخصائص يدويًا بعد إنشاء الكائن.

challenge icon

التحدي

سهل

لقد تم تزويدك بملفات PHP (book.php و driver.php) لتنفيذ نظام كتب.

مهمتك هي:

  • أكمل فئة Book في book.php باستخدام طريقة __construct التي تقوم بتهيئة خصائص $title و $author و $pages
  • في driver.php، قم باستيراد وإنشاء كائن كتاب لـ "Harry Potter" بواسطة "J.K. Rowling" مع 400 صفحة

اتبع تعليقات TODO في كل ملف.

ورقة مرجعية

التابع __construct هو تابع خاص يتم تشغيله تلقائياً عند إنشاء كائن جديد لتهيئة خصائصه.

تعريف منشئ (constructor) داخل فئة (class):

<?php
class Dog {
    public $name;
    public $breed;

    public function __construct($name, $breed) {
        $this->name = $name;
        $this->breed = $breed;
    }
}

إنشاء كائنات باستخدام المنشئ:

$rex = new Dog("Rex", "German Shepherd");
$buddy = new Dog("Buddy", "Golden Retriever");

الوصول إلى الخصائص التي تم تعيينها بواسطة المنشئ:

echo $rex->name;  // Rex
echo $rex->breed;  // German Shepherd

يمكن أن يحتوي المنشئ على قيم افتراضية للمعاملات:

class Cat {
    public $name;
    public $age;

    public function __construct($name, $age = 1) {
        $this->name = $name;
        $this->age = $age;
    }
}

$fluffy = new Cat("Fluffy", 3);
$whiskers = new Cat("Whiskers");  // age defaults to 1

جرّب بنفسك

<?php
require_once 'book.php';

// TODO: قم بإنشاء كائن Book باستخدام:
// العنوان: "Harry Potter"، المؤلف: "J.K. Rowling"، الصفحات: 400
$myBook = ?;

echo "'" . $myBook->title . "' by " . $myBook->author . ", " . $myBook->pages . " pages\n";
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Object Oriented Programming