PHP – سازنده (Constructor)

PHP - تابع __construct

یک سازنده (Constructor) به شما اجازه می‌دهد که ویژگی‌های یک شیء را هنگام ایجاد آن شیء مقداردهی اولیه کنید.

اگر یک تابع __construct() ایجاد کنید، PHP به صورت خودکار این تابع را هنگام ایجاد یک شیء از کلاس فراخوانی می‌کند.

توجه داشته باشید که تابع __construct با دو خط زیر (__) شروع می‌شود!

در مثال زیر می‌بینیم که استفاده از یک سازنده ما را از فراخوانی متد set_name() بی‌نیاز می‌کند که باعث کاهش میزان کد می‌شود:

مثال

<?php
class Fruit {
  public $name;
  public $color;
  function __construct($name) {
    $this->name = $name;
  }
  function get_name() {
    return $this->name;
  }
}
$apple = new Fruit("Apple");
echo $apple->get_name();
?>

یک مثال دیگر:

مثال

<?php
class Fruit {
  public $name;
  public $color;
  function __construct($name, $color) {
    $this->name = $name;
    $this->color = $color;
  }
  function get_name() {
    return $this->name;
  }
  function get_color() {
    return $this->color;
  }
}
$apple = new Fruit("Apple", "red");
echo $apple->get_name();
echo "<br>";
echo $apple->get_color();
?>

در این مثال‌ها، ما یک سازنده __construct تعریف کرده‌ایم که هنگام ایجاد یک شیء از کلاس Fruit، ویژگی‌های name و color را مقداردهی اولیه می‌کند. این باعث می‌شود که ما نیازی به فراخوانی جداگانه متدهای set_name() و set_color() نداشته باشیم و کد ما مختصرتر و خواناتر شود.

پست های مرتبط

مطالعه این پست ها رو از دست ندین!
Python - محدود کردن داده (MongoDB Limit)

Python – محدود کردن داده (MongoDB Limit)

Python MongoDB محدود کردن نتایج برای محدود کردن نتایج در MongoDB، از متد limit() استفاده می‌کنیم. متد limit() یک...

بیشتر بخوانید
Python - بروزرسانی (MongoDB Update)

Python – بروزرسانی (MongoDB Update)

به‌روزرسانی یک رکورد برای به‌روزرسانی یک رکورد یا سند در MongoDB، از متد update_one() استفاده می‌کنیم. پارامتر اول متد...

بیشتر بخوانید
Python - حذف کالکشن (MongoDB Drop Collection)

Python – حذف کالکشن (MongoDB Drop Collection)

حذف کالکشن شما می‌توانید یک جدول یا کالکشن در MongoDB را با استفاده از متد drop() حذف کنید. مثالحذف...

بیشتر بخوانید

نظرات

سوالات و نظراتتون رو با ما به اشتراک بذارید

برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید.