آموزش طراحی سایتآموزش PHP

متغیر Superglobal در php

آموزش طراحی سایت با پی اچ پی – متغیر های superglobal (گلوبال)

یه سلام پرانرژی به دوستان خوب میزفا .امروز با یه قسمت جدید از آموزش پی اچ پی به زبان ساده در خدمت شما همراهای گرامی هستم .توی این قسمت با متغیرهای superglobal در php آشنا میشیم که اصطلاحا در زبان فارسی بهشون متغیر های بسیار جهانی هم گفته میشه :)))

 

متغیر های جهانی (Global) در پی اچ پی – Superglobals

متغیر های سوپرگلوبال (Superglobal) از نسخه ی 4.1.0 به php اضافه شدند. این متغیر های از پیش تعریف شده در تمامی بخش های کدنویسی در دسترس هستند و شما میتوانید با استفاده از توابع، کلاس ها و حتی فایل هایی که کار خاصی انجام نمی دهند این متغیر ها را فراخوانی کنید و از آن ها در بدنه ی کدنویسی خود استفاده کنید .

این متغیر ها به شرح زیر می باشند :

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

در این قسمت به توضیح برخی از آن ها می پردازیم و در جلسات آتی مابقی آن ها را توضیح خواهیم داد.

 

 GLOBALS$  در php

متغیر GLOBALS$ برای دسترسی به تمام متغیرهای سوپر گلوبال در هرجایی از اسکریپت php مورد استفاده قرار می گیرد.( حتی در بدنه ی توابع و متد ها)

زبان php  تمامی متغیر های گلوبال را در متغیری به نام [Globals[$index$ نگهداری می کند . که index$ حاوی نام متغیر می باشد.

در مثال زیر متوجه خواهید شد که چطور از متغیر GLOBALS$ استفاده می شود.

<?php 
$x = 75;
$y = 25; 

function addition() {
    $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
}

addition();
echo $z;
?>

 

در بدنه ی تابع addition حاصل جمع دو متغیر x$  و y$ را در z$ قرار داده ایم. همانطور که گفته شد GLOBALS$  متغیر را در هر کجای برنامه باشد فراخوانی میکند .

هم چنین متغیر z$ خارج از تابع نیز قابل دسترسی خواهد بود. در نتیجه خروجی دستورات بالا حاصل جمع x$ و y$ یعنی عدد 100 خواهد بود.

 

SERVER_$ در Php

متغیر SERVER_$ یکی از متغیر های سوپر گلوبال در Php است که اطلاعات عنوان ها، مسیر ها و محل دستورها را در خود نگهداری می کند . در مثال زیر می توانید نحوه استفاده SERVER_$ را در Php مشاهده نمایید.

 

<?php 
echo $_SERVER['PHP_SELF'];
echo "<br>";
echo $_SERVER['SERVER_NAME'];
echo "<br>";
echo $_SERVER['HTTP_HOST'];
echo "<br>";
echo $_SERVER['HTTP_REFERER'];
echo "<br>";
echo $_SERVER['HTTP_USER_AGENT'];
echo "<br>";
echo $_SERVER['SCRIPT_NAME'];
?>

 

خروجی مثال بالا به شکل زیر خواهد بود :

خروجی متغیر گلوبال SERVER_$
خروجی متغیر گلوبال SERVER_$

 

در جدول زیر پارامتر هایی را مشاهده خواهید کرد که متعلق به SERVER_$ می باشند.

توضیحاتعنصر/کد
 بازگردانی نام اسکریپتی که در حال اجرا می باشد$_SERVER[‘PHP_SELF’]
 بازگردانی اطلاعاتی در مورد ورژن gateway interface سرور$_SERVER[‘GATEWAY_INTERFACE’]
بازگردانی آدرس IP سرور میزبان$_SERVER[‘SERVER_ADDR’]
بازگردانی نام سرور$_SERVER[‘SERVER_NAME’]
بازگردانی رشته شناسایی سرور$_SERVER[‘SERVER_SOFTWARE’]
بازگردانی نام و نسخه پروتکل اطلاعات$_SERVER[‘SERVER_PROTOCOL’]
بازگردانی روش درخواست استفاده شده  برای دسترسی به صفحه (مانند POST)$_SERVER[‘REQUEST_METHOD’]
بازگردانی زمان شروع درخواست$_SERVER[REQUEST_TIME]
بازگردانی  رشته پرس و جو اگر صفحه از طریق یک رشته پرس و جو قابل دسترسی می باشد$_SERVER[‘QUERY_STRING’]
بازگردانی هدر قبولی از درخواست جاری$_SERVER[‘HTTP_ACCEPT’]
 بازگردانی هدر Accept_Charset از درخواست فعلی$_SERVER[‘HTTP_ACCEPT_CHARSET’]
بازگردانی هدر میزبان از درخواست جاری$_SERVER[‘HTTP_HOST’]
 بازگردانی URL کامل صفحه ارجاع به صفحه جاری$_SERVER[‘HTTP_REFERER’]
 بازگردانی آیا اسکریپت از طریق یک پروتکل HTTP امن درخواست شده است?$_SERVER[‘HTTPS’]
 بازگردانی آدرس IP جایی که کاربر در حال مشاهده صفحه ی جاری است.$_SERVER[‘REMOTE_ADDR’]
بازگردانی  نام میزبان از جایی که کاربر در حال مشاهده صفحه ی جاری است.$_SERVER[‘REMOTE_HOST’]
بازگردانی  پورت استفاده شده روی دستگاه کاربر برای برقراری ارتباط با سرور وب.$_SERVER[‘REMOTE_PORT’]
 بازگردانی مسیر مطلق اسکریپت جاری در حال اجرا.$_SERVER[‘SCRIPT_FILENAME’]
 بازگردانی مقدار داده شده به دستور SERVER_ADMIN در فایل پیکربندی وب سرور.$_SERVER[‘SERVER_ADMIN’]
بازگردانی  پورت روی دستگاه سرور که توسط سرور وب برای برقراری ارتباط استفاده می شود (مانند 80).$_SERVER[‘SERVER_PORT’]
 بازگردانی  نسخه سرور و نام میزبان مجازی که به صفحات سرور تولید شده اضافه شده است.$_SERVER[‘SERVER_SIGNATURE’]
بازگردانی  فایل سیستم مسیر مبتنی بر اسکریپت فعلی$_SERVER[‘PATH_TRANSLATED’]
 بازگردانی مسیر اسکریپت جاری$_SERVER[‘SCRIPT_NAME’]
بازگردانی  URI صفحه جاری$_SERVER[‘SCRIPT_URI’]

 

خب این جلسه از آموزش PHP به اتمام رسید.

در جلسات آینده با ادامه ی توضیحات متغیر superglobal در php با شما همراه خواهیم شد

 

منبع: w3schools

برچسب ها

نسرين ولی خانی

کارشناسي نرم افزار علاقمند به برنامه نويسی

نوشته های مشابه

‫5 نظر داریم، تو هم نظر بذار، پاسخ کامل میدیم :)

  1. دوستان لطفا اطلاعات صحیح در اختیار کاربران قرار دهید ، مثلا
    بازگردانی URL کامل از صفحه جاری $_SERVER[‘HTTP_REFERER’]
    این اصلا اشتباه و برای ادرس جاری نیست بلکه ادرس صفحه اجاع هستش نه صفحه جاری

    1. سلام کامران جان روزت بخیر.

      ممنون از اطلاعات، بله بخشی از نوشته تکمیل نبود که تکمیل شد. البته این پارامتر به صفحه جاری هم مربوط میشه حالا به چه صورت ؟ به این صورت که این پارامتر آدرس صفحه ای که کاربر از طریق اون وارد صفحه جاریمون شده رو برمیگردونه.
      یکی از مثال های کاربردی رو برای این پارامتر میتونیم اینطوری بگیم که این پارامتر برای افرادی که در حوزه بازاریابی دیجیتال مشغول هستند، بسیار مفید هست به این علت که میتوانند کمپین های تبلیغاتی را برای وب سایت هایی که بیشترین ورودی را از آنها دارند ، تنظیم کنند. این پارامتر را تهیه می‌کنند و آن را در یک سیستم فایلی یا دیتابیس ذخیره می‌کنند و تعداد ورودی از آن ها را میشمارند. (البته الان دیگه با گوگل آنالیتکس این کار ها هم انجام میشه)

      موفق باشید!

پاسخی بگذارید

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


حداکثر حجم فایل برای آپلود: 1 MB.
فایل‌های مجاز برای آپلود: عکس, ویس, ویدیو, ورد یا پی دی اف, فایل متنی, زیپ.
شما می‌تونید برای بهتر پرسیدن سوالتون، عکس یا ویس یا حتی فیلم در بخش نظرات میزفا آپلود کنید. برای ضبط ویس می‌تونید از خود واتس آپ استفاده کنید و بعد اینجا آپلود کنید و برای ارسال عکس هم کافی هست اسکرین شات بگیرید.

دکمه بازگشت به بالا
سایت خود را در گوگل مدیریت کنید + ۱۵ ساعت فیلم آموزشیجزئیات بیشتر اینجا کلیک کنید
بستن
با موفقیت ثبت شد، میزفا از شما برای عضویت در خبرنامه هفتگی تشکر میکند.

عضویت در خبرنامه هفتگی برای دریافت:

  • فیلم و مقاله رایگان سئو
  • آموزش‌های UX ، GA و GTM
  • مقاله های تخصصی ASP.NET Core
  • اطلاع رسانی از محصولات
ترک میزفا خوب نیست!
دوره سئو، رایگان شد.
فرصتی رایگان برای یادگیری
کاراکتر اشاره گر
دوره سئو، رایگان شد.
فرصتی رایگان برای یادگیری
کاراکتر اشاره گر