Menu
Coddy logo textTech

מילת המפתח $this

חלק מהיחידה תכנות מונחה עצמים במסלול ה-PHP של Coddy. שיעור 4 מתוך 91.

מילת המפתח $this מתייחסת למופע הנוכחי של מחלקה בתוך המתודות שלה. היא מאפשרת לך לגשת למאפיינים של האובייקט הנוכחי ולשנות אותם.

הנה דוגמה למחלקה עם מתודות המשתמשות ב־$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. כך המתודה יודעת לאילו מאפיינים של האובייקט לגשת.

אם היה לך אובייקט של מכונית נוספת:

$otherCar = new Car();
$otherCar->color = "Blue";
$otherCar->model = "SUV";
$otherCar->describe(); // אני Blue SUV

נקודה חשובה: $this תמיד מתייחס לאובייקט המסוים שקרא למתודה. לכל אובייקט יש הקשר משלו בעת הפעלת מתודה.

challenge icon

אתגר

קל

השלימו את המחלקה Car בקובץ car.php על ידי הוספת מתודה בשם displayInfo שמשתמשת במילת המפתח $this כדי להדפיס את השנה, היצרן והדגם של המכונית בפורמט:

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

  • car.php: מכיל את הגדרת המחלקה Car, שבה תוסיפו את המתודה displayInfo
  • driver.php: קובץ ההרצה הראשי שמייבא את המחלקה Car ומשתמש בה (נעול)

נסו בעצמכם

<?php
require_once 'car.php';

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

$myCar->displayInfo();
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה תכנות מונחה עצמים

תרגלו בעצמכם: קומפיילר PHP אונליין