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

%d8%b4%db%8c-%da%af%d8%b1%d8%a7%db%8c%db%8c-%d8%af%d8%b1-php-%d8%a8%d8%ae%d8%b4-%d9%87%d8%b4%d8%aa%d9%85-%d9%85%d8%aa%d8%af-%d9%87%d8%a7%db%8c-%d8%ac%d8%a7%d8%af%d9%88%db%8c%db%8c-wpmen

در بخش قبلی در خصوص ثابت ها در شی گرایی مطالبی را ارایه کردیم در این بخش می خواهیم در خصوص متدهای پیش فرض موجود در شی گرایی در 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 ها صحبت خواهیم کرد.

تاریخ آخرین بروزرسانی : ۱۳ دی ۱۳۹۵
منبع :‌ مردان وردپرس
میلاد میلادی

باور هایت را که پرورش دهی به هرچیزی دست خواهی یافت.

Advertising MiSaCo.

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

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

Time limit is exhausted. Please reload CAPTCHA.