آموزش کار با متغیر سراسری Global variables در PHP


آموزش کار با متغیر سراسری یا Global variables در PHP :

متغیرهای سراسری ویژه یا Superglobals variables از زبان PHP 4.1.0 به بعد معرفی شده و شامل متغیرهای درونی ساخته ای می شوند که برای تمام پروژه و کد قابل دسترس و تغییر هستند.
به عبارت دیگر تمامی تابع ها، کلاس ها و متدهای پروژه به متغیرهای سراسری ویژه یا Superglobal variables دسترسی دارند. برای این منظور هم نیاز به نوشتن کد خاص یا انجام کاری نخواهید داشت.
متغیرهای سراسری ویژه در PHP عبارتند از :

  • $GLOBALS
  • $_SERVER
  • $_REQUEST
  • $_POST
  • $_GET
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION

در این درس به آموزش برخی از متغیرهای سراسری ویژه Superglobal variables خواهیم پرداخت و مابقی آن ها را در قسمت های دیگر تشریح می کنیم.

آموزش کار با متغیر سراسری $GLOBAL در PHP :

متغیر $GLOBAL یک متغیر سراسری ویژه یا Superglobal variable است که برای دسترسی و مدیریت متغیرهای سراسری global variable در هر کجای کد برنامه PHP (حتی درون تابع ها یا متدها) استفاده می شود. زبان PHP، کلیه متغیرهای سراسری global variable را در یک آرایه با نام $GLOBAL [index] نگهداری می کند که index نام متغیر در سطح برنامه است.

مثال عملی :

در کد مثال عملی زیر نحوه استفاده از متغیر سراسری ویژه superglobal variable $GLOBALS را در کد PHP نشان داده ایم :

                

در کد مثال فوق، از آنجایی که متغیر Z توسط آرایه $GLOBAL تعریف شده است، می توان از خارج از تابع نیز به آن دسترسی داشت.

آموزش کار با متغیر سراسری $SERVER در PHP :

متغیر سراسری $SERVER یک متغیر سراسری ویژه یا Superglobal Variable است که اطلاعات مربوط به هدرها (headers)، مسیرها (paths) و مکان اسکریپت ها را در خود نگهداری می کند.
در کد مثال عملی زیر، نحوه استفاده از برخی المنت های متغیر $SERVER را آموزش داده ایم :

  ";  echo $_SERVER['SERVER_NAME'];  echo "
"; echo $_SERVER['HTTP_HOST']; echo "
"; echo $_SERVER['HTTP_REFERER']; echo "
"; echo $_SERVER['HTTP_USER_AGENT']; echo "
"; echo $_SERVER['SCRIPT_NAME']; ?>

لیست زیر مهم ترین المنت های متغیر $SERVER را که می توانید از آن ها استفاده کنید، به همراه توضیح نشان داده است :

  • $ SERVER [PHP-SELF] : این المنت نام فایلی که هم اکنون اسکریپت آن در حال اجراست را بر می گرداند.
  • $_SERVER[‘GATEWAY_INTERFACE’] : این المنت ورژن Common Gate way Interface (CGI) که هم اکنون سرور در حال استفاده از آن است را برمی گرداند.
  • $_SERVER[‘SERVER_ADDR’] : این المنت آدرس هاست سرور جاری را بر می گرداند.
  • $_SERVER[‘SERVER_NAME’] : این المنت نام هاست سرور جاری برای مثال (www.tahlildadeh.com) را بر می گرداند.
  • $_SERVER[‘SERVER_SOFTWARE’] : این المنت مقدار متنی کد شناسایی سرور یا server identhfication string را مثل Apache/2.2.24 را بر می گرداند.
  • $_SERVER[‘SERVER_PROTOCOL’] : این المنت ورژن و نام پروتکل اطلاعات سرور یا information protocol را بر می گرداند، مثل HTTP/1.1.
  • $_SERVER[‘REQUEST_METHOD’] : این المنت روش درخواست صفحه جاری یا Request mode را بر می گرداند مثل Post.
  • $_SERVER[‘REQUEST_TIME’] : این المنت timestawp شروع درخواست اجرای صفحه را بر می گرداند، برای مثال 1377687496.
  • $_SERVER[‘QUERY_STRING’] : این المنت در صورتی که صفحه از query string استفاده کرده باشد، مقدار آن را بر می گرداند.
  • $_SERVER[‘HTTP_ACCEPT’] : این المنت مقدار Accept header مربوط به درخواست یا request جاری را بر می گرداند.
  • $_SERVER[‘HTTP_ACCEPT_CHARSET’] : این المنت مقدار Accept_Charset header مربوط به درخواست جاری را بر می گرداند.
  • $_SERVER[‘HTTPS’] : این المنت مقدار آدرس کامل URL صفحه جاری را بر می گرداند (البته چندان کاربرد ندارد زیرا بر اثر هاست ها از آن پشتیبانی نمی کنند).
  • $_SERVER[‘HTTP_REFERER’] : این المنت مقدار secure HTTP protocol ای که در سرور در حال استفاده است را بر می گرداند.
  • $_SERVER[‘REMOTE_ADDR’] : این المنت آدرس IP address سروری که کاربر در حال مشاهده صفحه توسط آن است را بر می گرداند.
  • $_SERVER[‘REMOTE_HOST’]: این المنت نام هاست سروری که (Host server) کاربر به وسیله آن در حال مشاهده صفحه است را بر می گرداند.
  • $_SERVER[‘REMOTE_PORT’] : این المنت مقدار port ای که کامپیوتر کاربر برای ارتباط با وب سرور از آن استفاده می کند را بر می گرداند.
  • $_SERVER[‘SCRIPT_FILENAME’] : این المنت آدرس کامل Pathname که اسکریپت جاری بر روی آن در حال اجراست را بر می گرداند.
  • $_SERVER[‘SERVER_PORT’] : این المنت شماره port ای که وب سرور برای ارتباط با کلانیت از آن استفاده می کند را بر می گرداند مثل 80.
  • $_SERVER[‘SERVER_SIGNATURE’] : این المنت ورژن سرور (server version) و نام هاست مجازی (virtual host name) ای که به صفحات تولید شده توسط سرور اضافه شده اند را بر می گرداند.
  • $_SERVER[‘PATH_TRANSLATED’] : این المنت مقدار آدرس مبتنی بر فایل سیستم file system based path مربوط به اسکریپت جاری را بر می گرداند.
  • $_SERVER[‘SCRIPT_NAME’]’ : این المنت آدرس یا path اسکریپت جاری را بر می گرداند.
  • $_SERVER[‘SCRIPT_URI’]: این المنت مقدار URI مربوط به صفحه جاری را بر می گرداند.
  • $_SERVER[‘SERVER_ADMIN’] : این المنت مقدار value داده شده به SERVER_ADMIN directive در فایل تنظیمات برنامه یا Configuration file را بر می گرداند (اگر هاست شما به صورت مجازی Virtual host اجرا می شود، این مقدار value تعیین شده برای سرور مجازی خواهد بود مثل some@tahlildadeh.com)

آموزش کار با متغیر سراسری $_REQUEST در PHP :

از متغیر سراسری $_REQUEST در PHP، برای جمع آوری اطلاعات پس از Submit یک فرم HTML استفاده می شود.
در کد مثال عملی زیر یک FORM همراه با یک کادر ورودی input field و یک دکمه submit button نشان داده شده است. هنگامی که کاربر با کلیک بر روی دکمه “submit” اطلاعات فرم را ارسال یا در اصطلاح submit می کند، این data به آدرس فایلی که در خاصیت action تگ

تعیین شده است، ارسال می شود. در این مثال، ما اطلاعات فرم را برای پردازش به خود صفحه جاری ارسال کرده ایم. اگر شما می خواهید این اطلاعات به صفحه یا آدرس دیگری برود، بایستی آدرس مورد نظر خود را به جای فایل جاری در خاصیت action بنویسید.
سپس می توانیم از متغیر سراسری ویژه $_REQUEST برای جمع آوری اطلاعات یا value کادر متنی input filed استفاده کنیم :

            Name:                               

آموزش کار با متغیر سراسری $_POST در PHP :

از متغیر سراسری $_POST برای جمع آوری اطلاعات یک فرم HTML پس از ارسال یا در اصطلاح submit آن به روش method=”POST” استفاده می شود. همچنین از متغیر $_POST می توان برای ارسال متغیرها یا variables نیز استفاده کرد.

مثال :

در کد مثال عملی زیر، یک form با یک کادر ورود اطلاعات (input field) و یک دکمه ارسال (submit button) داریم. هنگامی که کاربر بر روی دکمه “submit” کلیک می کند، اطلاعات فرم به فایل تعیین شده در خاصیت action تگ

ارسال می شود. در این مثال، برای پردازش سریع اطلاعات، صفحه را به خودش ارسال کرده ایم. اما اگر شما تمایل دارید اطلاعات را به صفحه PHP دیگری بفرستید، کافی است آدرس و نام آن را در خاصیت action جایگزین کنید. در پایان کد، از متغیر سراسری $_POST برای جمع آورس مقادیر (value) کادر متن فرم استفاده می کنیم :

            Name:                               

آموزش کار با متغیر سراسری $_GET در PHP :

از متغیر سراسری $_GET نیز می توان برای جمع آوری اطلاعات یک فرم پس از Submit و ارسال آن به مقصد استفاده کرد. این متغیر همچنین می تواند اطلاعات فرستاده شده توسط URL را نیز جمع آورس کند.
در نظر بگیرید که یک صفحه HTML حاوی یک لینک با چند پارامتر مثل کد زیر داشته باشیم :

        Test $GET                    

هنگامی که کاربر بر روی لینک “Test $GET” کلیک می کند، پارامترهای “subject” و “web” به صفحه “test get.php” ارسال می شوند. سپس در صفحه “test_get.php” می توانید به این مقادیر یا values از طریق متغیر $_GET دسترسی داشته باشید.
کد مثال زیر، اسکریپت مربوط به صفحه “test-get.php” را نشان می دهد :

                            
نکته:

درباره متغیرهای $_POST و $_GET در بخش آموزش فرم های PHP بیشتر صحبت خواهیم کرد.

دیدگاهتان را بنویسید

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