سطح دسترسی

سطح دسترسی مشخص می‌کند که متدها یک کلاس یا متغیرها در چه جای برنامه قابل دسترسی هستند. در PHP سه سطح دسترسی وجود دارد :

  • public (عمومی)
  • private (خصوصی)
  • protect (محافظت شده)

در این درس می‌خواهیم به سطح دسترسی private و public نگاهی بیندازیم. سطح دسترسی public زمانی مورد استفاده قرار می‌گیرد که شما بخواهید به یک متد یا متغیر در خارج از کلاس و حتی پروژه دسترسی یابید. به عنوان مثال به کد زیر توجه کنید :

  1: <?php
  2: 
  3:     class Test
  4:     {
  5:         public  $number1 = 10;
  6:         private $number2 = 20;
  7:     }
  8: 
  9:     $x = new Test();
 10:     
 11:     echo $x -> number1;
 12:     echo $x -> number2;
 13: 
 14: ?>
10
Fatal error: Cannot access private property Test::$number2 in C:\wamp\www\test.php on line 13

در این مثال یک کلاس با نام Test تعریف کرده‌ایم. سپس دو متغیر، یکی به صورت public (خط 5) و دیگری به صورت private در داخل کلاس Test تعریف می‌کنیم (خط 6). در خط 9 یک نمونه از کلاس ایجاد کرده و در خطوط 11 و 12 سعی می‌کنیم که مقدار متغیرهای آن را چاپ کنیم. همانطور که در خروجی مشاهده می‌کنید متغیر number1 که به صورت public تعریف شده است قابل دسترسی و متغیر number2 که به صورت private تعریف شده است غیر قابل دسترسی می‌باشد. به طور کلی متغیرها و متدهایی که به صورت public تعریف می‌شوند در داخل کلاس و نمونه‌های ایجاد شده از آن قابل دسترسی و متغیرها و متدهایی که به صورت private تعریف می‌شوند فقط در داخل کلاس قابل دسترسی هستند و برای دسترسی به آنها در خارج از کلاس باید از خاصیت‌ها استفاده کرد که در درس بعد توضیح می‌دهیم. سطح دسترسی protect را بعد از مبحث وراثت در درسهای آینده آموزش می‌دهیم.