آرایه های فوق سراسری (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 مراجعه کنندگان، هاست و … را چاپ کرده‌ایم. البته این خروجی ممکن است در کامپیوتر شما متفاوت باشد. درباره سایر آرایه‌های فوق سراسری در درس‌های آینده توضیح می‌دهیم.