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

الكلمة المفتاحية $this

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

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

إليك مثال على فئة (class) تحتوي على دوال (methods) تستخدم $this:

<?php
class Car {
    public $color;
    public $model;

    public function honk() {
        echo "Beep beep!\n";
    }

    public function describe() {
        echo "I am a " . $this->color . " " . $this->model . "\n";
    }
}

تُستخدم الكلمة الأساسية $this داخل الأساليب للإشارة إلى الكائن الذي استدعى الأسلوب.

أنشئ كائن سيارة وقم بتعيين الخصائص:

$myCar = new Car();
$myCar->color = "Red";
$myCar->model = "Sedan";

الآن قم باستدعاء الدوال:

$myCar->honk();
$myCar->describe();

المخرجات:

Beep beep!
I am a Red Sedan

عندما تستدعي $myCar->describe()، يقوم PHP تلقائيًا بتعيين $this ليشير إلى $myCar. هذه هي الطريقة التي تعرف بها الدالة (method) أي خصائص كائن يجب الوصول إليها.

إذا كان لديك كائن سيارة آخر:

$otherCar = new Car();
$otherCar->color = "Blue";
$otherCar->model = "SUV";
$otherCar->describe(); // أنا سيارة SUV زرقاء

نقطة رئيسية: $this يشير دائماً إلى الكائن المحدد الذي استدعى الطريقة (method). يحصل كل كائن على سياقه الخاص عند تشغيل الطريقة.

challenge icon

التحدي

سهل

أكمل فئة Car في car.php عن طريق إضافة دالة تسمى displayInfo تستخدم الكلمة المفتاحية $this لطباعة سنة السيارة، والشركة المصنعة، والطراز بالتنسيق التالي:

"This car is a [year] [make] [model]"

  • car.php: يحتوي على تعريف فئة Car حيث ستضيف دالة displayInfo
  • driver.php: ملف التنفيذ الرئيسي الذي يستورد ويستخدم فئة Car (مغلق)

ورقة مرجعية

تشير الكلمة المفتاحية $this إلى النسخة الحالية من الفئة (class) داخل دوالها، مما يسمح لك بالوصول إلى خصائص الكائن الحالي وتعديلها.

استخدام $this داخل الفئة:

<?php
class Car {
    public $color;
    public $model;

    public function describe() {
        echo "I am a " . $this->color . " " . $this->model . "\n";
    }
}

إنشاء كائن واستدعاء الدوال:

$myCar = new Car();
$myCar->color = "Red";
$myCar->model = "Sedan";
$myCar->describe(); // I am a Red Sedan

عندما تقوم باستدعاء $myCar->describe()، يقوم PHP تلقائيًا بتعيين $this للإشارة إلى $myCar. يحصل كل كائن على سياقه الخاص عند تشغيل الدالة، لذا فإن $this تشير دائمًا إلى الكائن المحدد الذي قام باستدعاء الدالة.

جرّب بنفسك

<?php
require_once 'car.php';

$myCar = new Car();
$myCar->year = 2020;
$myCar->make = "Toyota";
$myCar->model = "Corolla";

$myCar->displayInfo();
quiz iconاختبر نفسك

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

جميع دروس Object Oriented Programming