آرایه های فوق سراسری (super globals)
آرایههای فوق سراسری اولین بار در نسخه 4.1 پی اچ پی ارائه شد. این آرایهها برای در دسترس بودن در تمام بخشها ساخته شدهاند. چندین آرایه superglobal از پیش تعریف شده در PHP وجود دارد. بدین معنی که بدون در نظر گرفتن بخش، تابع و کلاس و یا هر فایلی قابل استفاده هستند. این آرایههای فوق سراسری عبارتند از :
- $GLOBALS
- $_SERVER
- $_REQUEST
- $_POST
- $_GET
- $_FILES
- $_COOKIE
- $_SESSION
GLOBALS$
در PHP در php متغیرهای سراسری در آرایهای با نام GLOBALS$ ذخیره میشوند که به این صورت نیز میتوانیم به مقادیر آنها دسترسی داشته باشیم:
1: <?php 2: 3: $firstNumber = 10; 4: $secondNember = 5; 5: $Sum; 6: 7: function GlobalVariable() 8: { 9: $GLOBALS['Sum'] = $GLOBALS['firstNumber'] + $GLOBALS['secondNember']; 10: } 11: 12: GlobalVariable (); 13: echo $Sum; 14: 15: ?>
15
همانطور که در کد بالا مشاهده میکنید متغیرهای $firstNumber و $secondNember که در خارج از متد تعریف شدهاند در داخل متد و متغیر Sum هم که در داخل متد تعریف شده است در خارج از متد و با استفاده از آرایه GLOBALS$ قابل دسترسی هستند.
$_SERVER
این آرایه در PHP اطلاعاتی درباره عنوانها، مسیرها و محل دستورها میدهد. این آرایه مقادیری دریافت میکند که لیست آنها در جدول زیر آمده است :
آرایه فوق سراسری | مقادیر دریافتی | کاربرد |
$_SERVER | PHP_SELF | نام فایل در حال اجرا را (نسبت به ریشه سایت) بر میگرداند. |
SERVER_ADDR | با استفاده از این متغیر میتوانیم آی پی سرور را به دست بیاوریم. | |
REMOTE_ADDR | آی پی کاربر را بر میگرداند. | |
REQUEST_URI | آدرس صفحه درخواستی را برمی گرداند | |
HTTP_REFERRER | با استفاده از این مقدار میتوانید بفهمید که کاربری که وارد سایت شما شده از چه سایتی آمده است. | |
DOCUMENT_ROOT | ریشه اصلی سایت رو بر میگرداند. | |
SCRIPT_FILENAME | مسیر مطلق فایل در حال اجرا رو بر میگرداند. |
ابته مقادیری که این آرایه دریافت میکند بیشتر از جدول بالاست که ما پرکاربردترین آنها را ذکر کردهایم. برای آشنایی با کاربرد این آرایه به مثال زیر توجه کنید :
<?php echo $_SERVER['PHP_SELF']; echo "<br>"; echo $_SERVER['SERVER_NAME']; echo "<br>"; echo $_SERVER['HTTP_HOST']; echo "<br>"; echo $_SERVER['HTTP_USER_AGENT']; echo "<br>"; echo $_SERVER['SCRIPT_NAME']; ?>
/Tuts/index.php localhost localhost Mozilla/5.0 (Windows NT 6.1; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0 /Tuts/index.php
در کد بالا با استفاده از آرایه SERVER_$ اطلاعاتی از قبیل نام سرور، نام دستورها، http مراجعه کنندگان، هاست و … را چاپ کردهایم. البته این خروجی ممکن است در کامپیوتر شما متفاوت باشد. درباره سایر آرایههای فوق سراسری در درسهای آینده توضیح میدهیم.