شی گرایی در PHP بخش هشتم :‌ متد های جادویی
مردان وردپرس شی گرایی شی گرایی در PHP بخش هشتم :‌ متد های جادویی

در بخش قبلی در خصوص ثابت ها در شی گرایی مطالبی را ارایه کردیم در این بخش می خواهیم در خصوص متدهای پیش فرض موجود در شی گرایی در PHP که به متد های جادویی معروف می باشند صحبت کنیم با مردان وردپرس همراه باشید . در php  تعدادی متد وجود دارند که به آنها متد های جادویی ( Magic Methods ) میگویند. این متد ها با دو خط زیر دار __ شروع  می شوند و هرکدام کار خاصی را انجام می دهند. این متد ها برای برنامه نویسان بسیار مفید می باشند و در اکثر مواقع از آنها استفاده می کنند. علت بوجود آمدن متدهای جادویی این بوده تا برنامه نویسان پی اچ پی راحت تر بتوانند اقدام به ساخت اشیاء از روی کلاس ها کنند. نکته: نمی توانید از نام این متد ها برای متد های خود استفاده کنید. در زیر لیست متد های جادویی را نمایش می دهیم و توضیح مختصری راجع به هرکدام می دهیم:
  • construct
  • destruct
  • set
  • get
  • clone
  • toString
در زیر به هرکدام از این متدها جداگانه خواهیم پرداخت. متد سازنده کلاس construct این متد هنگام ساخته شدن یک نمونه جدید  از کلاس اجرا خواهد شد. این متد بدون نیاز به فراخوانی به صورت خودکار هنگام ایجاد  یک شی جدید ، اجرا خواهد شد و دستورات داخل آن هم عملی می شوند


متد مخرب و یا destruct این متد برعکس  متد construct__ عمل میکند. یعنی هنگامی که کلاس میخواد از حافظه خارج شود این متد اجرا میشه.


Overloading در PHP در PHP واژه Overloading به معنی ایجاد متدها و متغیرهای داینامیک استفاده می شود. این متدها و متغیرها به وسیله متدهای جادویی یا Magic Methods ساخته میشوند. ساخت متغیرهای داینامیک در PHP متد set از این متد برای ایجاد متغیرهای داینامیک استفاده می کنیم. متغیرهایی که یا داخل کلاس وجود ندارند یا متغیرهایی که در خارج از کلاس بهشون دسترسی نداریم.
متد get از این متد برای دریافت  و دسترسی property  ها و یا متغیر های داینامیکی که توسط متد set ساخته شده اند استفاده می شود، یعنی  برای صدا زدن متغیر ها و property هایی که در کلاس مورد نظر وجود نداشته و یا قابل دسترس نیستند.
متد clone در php وقتی از یک آبجکت کپی میکنیم. این کپی به اصطلاح  copy by reference است یعنی وقتی تغییری را در آبجکت اصلی اعمال کنید در کپی ها هم اعمال می شود . به وسیله این متد می توان از یک شی ( object )  نسخه رو نوشت ( copy ) تهیه کرد به منظور اینکه وقتی در شی  ( object ) اصلی تغییری ایجاد شده در نسخه های کپی هم  اعمال شود که به اصطلاح به آن  copy by reference یعنی رونوشت از مرجع می باشد.
متد toString متد toString به یک کلاس امکان تصمیم‌ گیری درباره چگونگی رفتار در تبدیل به یک رشته  را می‌دهد. این متد زمانی فراخوانی می شود که آبجکت ایجاد شده از کلاس  echo  شود . در حالت معمولی اگر یه آبجکت از کلاس ساخته و از آن  echo  گرفته شود خطا حاصل خواهد شد .
متد های جادویی بیشتری وجود دارند و در صورت نیاز می توانید آن ها را در مرجع اصلی PHP مشاهده کنید. بخش بعدی در خصوص Autoload ها صحبت خواهیم کرد.
منبع :‌ مردان وردپرس
تاریخ آخرین بروزرسانی : 23 ژانویه 2020

نظرات خود را اینجا بنویسید

آدرس الکترونیکی شما نمایش داده نمی شود *

Time limit is exhausted. Please reload CAPTCHA.