PHP – نابودگر (Destructor)

PHP - تابع __destruct

یک نابودگر (Destructor) زمانی فراخوانی می‌شود که شیء نابود شده یا اسکریپت متوقف یا خارج شده باشد.

اگر یک تابع __destruct() ایجاد کنید، PHP به صورت خودکار این تابع را در انتهای اسکریپت فراخوانی می‌کند.

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

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

مثال

<?php
class Fruit {
  public $name;
  public $color;
  function __construct($name) {
    $this->name = $name;
  }
  function __destruct() {
    echo "The fruit is {$this->name}.";
  }
}
$apple = new Fruit("Apple");
?>

یک مثال دیگر:

مثال

<?php
class Fruit {
  public $name;
  public $color;
  function __construct($name, $color) {
    $this->name = $name;
    $this->color = $color;
  }
  function __destruct() {
    echo "The fruit is {$this->name} and the color is {$this->color}.";
  }
}
$apple = new Fruit("Apple", "red");
?>

نکته

همانطور که سازنده‌ها و نابودگرها کمک می‌کنند تا میزان کد کاهش یابد، آن‌ها بسیار مفید هستند!

توضیحات اضافی:

  • سازنده (Constructor): تابعی که هنگام ایجاد یک شیء از یک کلاس به طور خودکار فراخوانی می‌شود.
  • نابودگر (Destructor): تابعی که هنگام نابودی یک شیء یا پایان اسکریپت به طور خودکار فراخوانی می‌شود.

این توابع به مدیریت و کنترل بهتر منابع کمک می‌کنند و کد را خواناتر و نگهداری آن را ساده‌تر می‌کنند.

پست های مرتبط

مطالعه این پست ها رو از دست ندین!
JavaScript - تاریخ‌ها (Dates)

JavaScript – تاریخ‌ها (Dates)

آبجکت‌های تاریخ (Date) در جاوااسکریپت آبجکت‌های تاریخ در جاوااسکریپت به ما امکان کار با تاریخ و زمان را می‌دهند....

بیشتر بخوانید
JavaScript - آرایه‌های ثابت (Array Const)

JavaScript – آرایه‌های ثابت (Array Const)

جاوااسکریپت: تعریف آرایه با const در سال 2015، جاوااسکریپت کلمه کلیدی مهمی به نام const را معرفی کرد. این...

بیشتر بخوانید
JavaScript - تکرار آرایه‌ها (Array Iteration)

JavaScript – تکرار آرایه‌ها (Array Iteration)

جاوا اسکریپت: تکرار بر روی آرایه‌ها جاوا اسکریپت روش‌های مختلفی برای تکرار (Iteration) بر روی آرایه‌ها ارائه می‌دهد که...

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

نظرات

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

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