תכונות ב-PHP

ממשק php לעומת מחלקה אבסטרקטית
שיטות סטטיות ב-PHP OOP

במאמר זה תלמדו תכונות ב-PHP.

PHP - מהן תכונות?

ב-PHP, אתה יכול לרשת רק ממחלקת אב אחת. תכונות מתגברות על מגבלה זו של PHP ומאפשרות לך לרשת התנהגויות מרובות.

תכונה היא מחלקה המכילה שיטות מופשטות ולא מופשטות כאחד. כיתות שונות יכולות להשתמש בשיטות אלו בדרכן שלהן. שיטות התכונה יכולות להיות ציבוריות, פרטיות או מוגנות ביחס לשינויי הגישה שלהן.

תְכוּנָה מילת מפתח מצהירה על תכונה. תסתכל על התחביר הבא של תכונות ב-PHP.

<?php
trait FirstTrait {
  // some code...
}
?>

כדי להשתמש בתכונה בכיתה, להשתמש נעשה שימוש במילת מפתח ואחריה שם התכונה. תחביר של שימוש בתכונה בכיתה ניתן להלן.

<?php
class ABC {
  use FirstTrait;
}
?>

דוגמה לתכונה ב-PHP

<?php
trait FirstTrait {
public function message1() {
    echo "PHP is fun! ";
  }
}

class Hello {
  use FirstTrait;
}

$hello = new Hello();
$hello->message1();
?>
  • בדוגמה לעיל, אנו מכריזים על תכונה FirstTrait שמכילה שיטה הודעה 1.
  • אנחנו יוצרים את הכיתה שלנו שלום שמשתמשים ב-FirstTrait.
  • כעת, כאשר אנו יוצרים את האובייקט של המחלקה שלנו, יש לנו את כל השיטות של התכונה המשמשת את המחלקה הזו, כמו שיטת message1() בדוגמה זו.

שימוש במספר תכונות בכיתה - PHP

כפי שהזכרנו קודם לכן, PHP אינו תומך במספר ירושות שבאמצעותן כיתת ילד יכולה לרשת יותר ממחלקת אב אחת. תכונה חסרה זו של OOP מתגברת על ידי תכונות במידה רבה. בדוגמה הבאה, ניישם מספר תכונות בשיעורים.

<?php
trait trait1 {
  public function message1() {
    echo "PHPis fun! ";
  }
}

trait Trait2{
  public function message2() {
    echo "Traits avoid redundancy of code!";
  }
}

class Hello {
  use Trait1;
}

class Welcome {
  use Trait2, Trait2;
}

$obj_1 = new Trait1();
$obj_1->message1();

$obj_2 = new Trait2();
$obj_2->message1();
$obj_2->message2();
?>
  • בדוגמה שלמעלה, אנו יוצרים שתי תכונות בשם תכונה1 ותכונה 2. תכונה1 מכילה שיטה אחת messge1 והתכונה2 מכילה שתי שיטות, message1 ו- message2.
  • כדי להשתמש במספר תכונות בכיתה, הפרד כל תכונה בפסיק.
  • כעת, אנו יכולים להשתמש בתכונה אחת או בשתיהן בשיעורים שלנו. בדיוק כמו ההשפעה שנתנו בבחינה.

הפניה לתיעוד הרשמי של PHP 8 של תכונות.

ממשק php לעומת מחלקה אבסטרקטית
שיטות סטטיות ב-PHP OOP
close

הישאר מעודכן לגבי PHP!

אנחנו לא שולחים ספאם!

en English
X
גלול למעלה