پراپرتی و متدهای استاتیک در php

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

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

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

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

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

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

یک دیدگاه بر “پراپرتی و متدهای استاتیک در php
  1. محمدحسین گفت:

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

  2. onewp گفت:

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

پاسخ دهید

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

*