آموزش شی گرایی در PHP – سطوح دسترسی public و private

آموزش شی گرایی در PHP

در بخش قبلی از سری آموزش شی گرایی در PHP، بدون اینکه بدانیم public چی هست برای متد و خواص کلاس استفاده کردیم و در این آموزش با سطوح دسترسی public و private آشنا می شوید.

 

public یکی از چندین modifier (سطح دسترسی) هایی است که ما استفاده می کنیم.

از آنجا که public به ما اجازه دسترسی به متد و خواص ها داخل یا خارج از کلاس را می دهد،  کلمه کلیدی private از دسترسی به آنها خارج از کلاس جلوگیری می کند.

 

سطح دسترسی public

مثال زیر برای شما آشنا است. در این مثال، خواص و متدهای کلاس بصورت public تعریف شدند، پس می تواند خارج از کلاس و بصورت مستقیم به آنها دسترسی داشت.

خروجی :

 

چطور به خصوصیات private دسترسی داشته باشیم؟

همانطور که دیدید خارج از کلاس ما امکان دسترسی به خصوصیات پرایوت را نداریم، اما به طریقی می توانیم مقدار آن را دریافت یا ست کنیم.

برای این کار ما از متدهای پابلیک استفاده می کنیم تا بتوانیم با آن خارج از اسکوپ کلاس کار کنیم.

متدهای پابلیک که برای اینکار استفاده می کنیم، معمولا به دو بخش تقسیم می شود

 

Setters برای ست کردن مقادیر خواص پرایوت

Getters برای دریافت مقادیر خواص پرایوت

 

در مثال زیر، می توانید ببینید که ما مقادیر خاصیت پرایوت $carModel را با متدهای Getter و Setter دریافت/ست می کنیم.

از متد setModel() برای مقداردهی و متد getModel() برای دریافت مقدار فعلی آن بهره می بریم.

خروجی :

 

چرا به سطوح دسترسی نیاز داریم؟

ما از سطوح دسترسی (access modifiers) برای محدود کردن تغییرات روی متدها و خواص کلاس در خارج از استفاده می کنیم.

همینکه یک متد یا خاصیت را پرایوت کردیم، فقط متدهای داخل کلاس می توانند روی آن عملیات انجام دهند. پس برای کار کردن با متد و خواص پرایوت، ما نیاز به متدها پابلیک داریم.

داخل این متدها، می توانیم شرط ها و منطق موردنیاز برای دریافت اطلاعات خارج از کلاس و همچنین اعتبارسنجی داده های ورودی را بنویسیم.

 

 

در مثال ما، می توانیم اعتبارسنجی کنیم که فقط مدل های مشخصی را با این کلاس ایجاد کرد.

برای همین در متد پابلیک setModel() یک آرایه از مدل های قابل قبول را می سازیم و با تابع in_array بررسی می کنیم که فقط این مدها می توانند داخل خاصیت $model قرار بگیرند

 

جمع بندی آموزش شی گرایی در PHP

تا اینجا، با دو سطح دسترسی آشنا شدیم:

Public : به توابع خارج از کلاس اجازه تغییرات را می دهد.

Private : از خاصیت یا متد برای تغییرات خارج از کلاس محافظت می کند.

همچنین یاد گرفتید که برای تغییر در متد یا خاصیت های پرایوت، نیاز به متدها پابلیک داریم که خارج از محدوده کلاس بتوان با آن ها تغییرات ایجاد کرد.

 

در آموزش بعدی با متدهای جادویی و ثابت ها آشنا می شوید که باید با احتیاط از آنها استفاده کرد.

حسن شفیعی علاقه خاصی به برنامه نویسی وب و موبایل دارم و هر روز تلاش می کنم به این حوزه مسلط تر شوم و اطلاعاتم را به شکل کاربردی برای علاقه مندان در وب به اشتراک بگذارم. اگر نیاز به برنامه نویس برای انجام پروژه و نوشتن اسکریپت های سمت وب, اپلیکیشن های اندورید و ios, پیدا کردن راه حل توسعه و غیره داشتید حتما از طریق تماس با ما/ واتساپ/ تلگرام بهم پیام بدید
مطالب زیر را حتما بخوانید
دیدگاه کاربران

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

دوره های آموزشی