هنگاميكه ميخواهيد شئي ايجاد كنيد، تابع سازنده درصورت وجود، مقاديرويژگي هاي مندرج در new classname()دريافت ،وآنها را در ايجاد شي بكار ميگيرد.
اگر در كلاس، تابع__construct( ) ايجاد شود، در هنگام ايجاد شئPHP بصورت اتوماتيك آنرا اجرا مينمايد .توجه داشته باشيد كه تابع فوق با دو زيرخط"__" شروع ميگردد.
مثال ـ در مثال زير تابع سازنده باعث ميشود، كه از متد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(); ?>
درايجاد شئ$apple با دستور زير دو پارامترآن به تابع سازنده منتقل ميشود،وآن تابع ويژگي هاي نام ورنگ را مقداري دهي ميكند.
نكته ـ در حالتي كه كلاس داراي تابع سازنده است .بايد در هنگام ايجاد شئ ، پارامترهاي فراخواني كلاس با تابع سازنده تطبيق داشته باشد، در غير اينصورت پيغام خطا داده ميشود.