مخرب

مخرب نقطه مقابل سازنده است. مخرب‌ها متدهای خاصی هستند که هنگام تخریب یک شیء فراخوانی می‌شوند. اشیاء از حافظه کامپیوتر استفاده می‌کنند و اگر پاک نشوند ممکن است با کمبود حافظه مواجه شوید. می‌توان از مخرب‌ها برای پاک کردن منابعی که در برنامه مورد استفاده قرار نمی‌گیرند استفاده کرد. معمولاً PHP به صورت اتوماتیک از زباله روب (garbage collection) برای پاک کردن حافظه استفاده می‌کند و لازم نیست شما به صورت دستی اشیاء را از حافظه پاک کنید. به عنوان مثال وقتی کاربر یک فایل متنی را برای خواندن باز می‌کند و آن را نمی‌بندد، می‌توان عمل بستن فایل را با استفاده از مخرب انجام داد. دستور نوشتن مخرب به صورت زیر است :

public function __destruct()
{
   code to execute;
}

برنامه زیر نحوه فراخوانی سازنده و مخرب را نشان می‌دهد :

  1  <?php            
  2              
  3     class Test                                    
  4     {                                                    
  5         public function Test()                                    
  6         {                                                
  7             echo "Constructor was called." . '<br/>';
  8         }
  9         
 10         public function __destruct()                                               
 11         {                                                                                 
 12             echo "Destructor was called.";
 13         }                                                                                 
 14     }
 15     
 16     $test = new Test();
 17     
 18  ?>
Constructor was called.
Destructor was called.

در کلاس Test یک سازنده (خطوط 8-5) و یک مخرب (خطوط 13-10) تعریف شده است. سپس یک نمونه از کلاس ایجاد کرده‌ایم (خط 16). وقتی یک نمونه از کلاس ایجاد می‌کنیم (خط 16) سازنده و مخرب فراخوانی شده و پیغام مناسب نمایش داده می‌شود.