سازنده یا Constructor

Wiki

سازنده تابعی است که در هنگام ایجاد کلاس به صورت اتوماتیک فراخوانی می شود و می توان توسط آن تنظیمات اولیه همانند ایجاد ارتباط با دیتابیس و یا کارهای مشابه را انجام داد.

در PHP 4 سازنده تابعی می باشد که نام آن همان نام کلاس می باشد و در PHP 5 تابعی است که با نام"construct__" می باشد.

مثال1:در مثال زیر به دو روش، تابع سازنده تعریف شده است:

<?php 
class className{ 
    function __construct()
    {
        echo 'className created from PHP5 format';
    }
    function className()
    {
        echo 'className created from PHP4 format';
    }
}
$a=new className(); 
؟>

خروجی کد بالا:

اگر در PHP 5 اجرا شود خروجی آن className created from PHP5 format خواهد بود و اگر در PHP 4 اجرا شود خروجی آن className created from PHP4 format خواهد بود.

توجه: در PHP 5 چنانچه تابع construct__ وجود نداشته باشد مدل PHP 4 آن اجرا خواهد شد.

مثال2:

<?php
class My_class
{
  public $name;
  function __construct($Param="Amir")
  {
   $this->name=$Param;

  }
  function SayHello()
  {
   print "Hello My Name is $this->name"."<br />";
  }
}

$obj1=new My_Class();
$obj1->SayHello();
$obj2=new My_Class("Reza");
$obj2->SayHello();
?>

خروجی کد بالا:

Amir
Reza

همانطور که دیدید در مثال بالا یک سازنده ساختیم و مقدار دیفالتش را روی "Amir" گذاشتیم که اگر هیچی وارد نشد این عبارت چاپ بشود.

مخرب یا Destructors

Wiki

درکنار سازنده مخرب نیز وجود دارد که معکوس سازنده عمل می کند، قبل از، از بین رفتن کلاس اجرا می شود و برای خالی کردن حافظه و یا قطع ارتباط دیتابیس و کارهای مشابه به کار می رود.

در واقع مخرب، زمانی فراخوانی می شود که تمام رفرنس های کلاس مورد نظر رفته اند.

مثال:

<?php 
class className{
    funcrion __construct()
    {
        echo 'Start of className';
    } 
    function __destruct()
    {
        echo 'End of className';
    }
}
$a=new className();

?>

خروجی کد بالا:

Start of className
End of className

READ MORE