قبل از اینکه بخوام در مورد facade  در لاراول صحبت کنم باید اطلاعات کلی در مورد توابع یا متدهای استاتیک php داشته باشید. متدهای استاتیک متدهایی از یک کلاس هستند که بدون نمونه گیری از کلاس و بصورت استاتیک قابل دسترسی هستند. یعنی بدون داشتن شئ از کلاس ، میتونیم از این نوع متدها استفاده کنیم.

قبل از مثال در مورد متدهای استاتیک میخوام کمی در مورد متغیرها یا پراپرتی های استاتیک صحبت کنم. یک پراپرتی استاتیک بدون استفاده از $this  و به راحتی با استفاده از ::  قابل دسترسی هست. همچنین میتونید یک متغیر استاتیک رو با استفاده از کلمه کلیدی static  تعریف کنید. به مثال زیر توجه کنید :

میبینید که چقدر راحت میشه به پراپرتی های استاتیک دسترسی داشت. با استفاده از کلمه های کلیدی self  و parent  هم میتونید به پراپرتی های این کلاس و یا کلاس پدر دسترسی داشته باشید.

نحوه ی تعریف متدهای استاتیک

همونطور که در بالا میبینید متد start()  بصورت استاتیک تعریف شده و خیلی شیک و مجلسی میشه ازش نمونه ساخت. این نوع توابع در نگاه اول خیلی جالب به نظر میرسن… و سوالی که پیش میاد اینه که چرا همه متد هارو استاتیک تعریف نمیکنیم؟ 

متدهای استاتیک با اینکه اولش خیلی باحال به نظر میرسن ولی محدودیتی دارن که تنها در بعضی موارد میتونیم ازشون استفاده کنیم : “بخاطر استاتیک تعریف شدن این متدها ، امکان استفاده از $this  در این نوع متدها وجود ندارد.” ولی در مجموع این نوع متدهای خیلی پرکاربرذ هستند.


حمید

حمید حق دوست هستم، توسعه دهنده وب و علاقمند به خیلی چیزا که آمارش دست خودمم نیست! لاراول رو دوست دارم ولی دلیل نمیشه که از علاقم به جاوا اسکریپت کم کنه و سعی میکنم جفتشونو داشته باشم :)

4 دیدگاه

محمدحسین · اسفند ۲۸, ۱۳۹۵ در ۸:۴۹ ق.ظ

بسیار زیبا توضیخ دادین

حامد · شهریور ۲۰, ۱۳۹۶ در ۱۰:۳۱ ق.ظ

خیلی ممنون

onewp · آبان ۵, ۱۳۹۶ در ۶:۰۰ ب.ظ

من که هیچی نفهمیدم …. نمیشه ساده تر بیان کنید که یه کلمه اش رو هم ما بفهمیم

MrHMH · دی ۱۱, ۱۳۹۶ در ۹:۳۶ ق.ظ

خوشمان امد…

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *