PHP super globals هي متغيرات مدمجة يمكن الوصول إليها من جميع النطاقات.
PHP سوبر جلوبال (PHP سوبر جلوبال)
في هذا الدرس، سنشرح جميع العوالم الفائقة في لغة PHP مع الأمثلة. تابع القراءة لمعرفة ذلك.
PHP Super Globals: $GLOBALS
يتم استخدام $GLOBALS superglobal للوصول إلى المتغيرات العامة من أي حقل (بما في ذلك الوظائف أو الأساليب) في البرنامج النصي PHP. تقوم لغة PHP بتخزين كافة المتغيرات العامة في مصفوفة تسمى $GLOBALS[index]. يحمل الفهرس اسم المتغير. يوضح المثال التالي كيفية استخدام المتغير superglobal $GLOBALS:
$number1 = 50;
$number2 = 20;
function addition(): int
{
return $GLOBALS[ 'number3' ] = $GLOBALS[ 'number2' ] + $GLOBALS[ 'number1' ];
}
echo addition();
// Çıktı: 70PHP Super Globals: $_REQUEST
PHP $_REQUEST هو PHP superglobal المستخدم لجمع البيانات من نموذج HTML.
<!DOCTYPE html>
<html>
<body>
<form method="post" action="<?php
echo $_SERVER[ 'PHP_SELF' ]; ?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php
if ($_SERVER[ 'REQUEST_METHOD' ] === 'POST') {
// input elementinden gelen veriyi değişkene ata
$name = htmlspecialchars($_REQUEST[ 'fname' ]);
if (empty($name)) {
echo 'Ad yok';
} else {
echo $name;
}
}
?>
</body>
</html>في المثال أعلاه، قمنا بإنشاء نموذج يُرجع البيانات باستخدام التابع post. لقد قمنا بتمكينه من إرجاع البيانات على نفس الصفحة باستخدام $_SERVER['PHP_SELF']. لقد تحققنا من أن الطلب الذي يأتي مع $_SERVER['REQUEST_METHOD'] الفائق النطاق هو طلب نشر. بعد ذلك، قمنا بأمان بتعيين البيانات من الإدخال المسمى fname بقيمة الاسم إلى المتغير $name مع $_REQUEST superglobal باستخدام الدالة htmlspecialchars(). لقد تحققنا مما إذا كان المتغير $name فارغًا أم لا باستخدام PHP if condition. إذا كان فارغا، فإننا نطبع الناتج "بدون اسم"، وإلا فإننا نطبع بيانات المتغير $name.
PHP سوبر جلوبال: $_POST
PHP $_POST هو PHP فائق المستوى يستخدم لجمع البيانات من نموذج HTML عبر طريقة POST.
<!DOCTYPE html>
<html>
<body>
<form method="post" action="<?php
echo $_SERVER[ 'PHP_SELF' ]; ?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php
if ($_SERVER[ 'REQUEST_METHOD' ] === 'POST') {
// input elementinden gelen veriyi değişkene ata
$name = htmlspecialchars($_POST[ 'fname' ]);
if (empty($name)) {
echo 'Ad yok';
} else {
echo $name;
}
}
?>
</body>
</html>في المثال أعلاه، قمنا بإنشاء نموذج يُرجع البيانات باستخدام التابع post. لقد قمنا بتمكينه من إرجاع البيانات على نفس الصفحة باستخدام $_SERVER['PHP_SELF']. لقد تحققنا من أن الطلب الذي يأتي مع $_SERVER['REQUEST_METHOD'] الفائق النطاق هو طلب نشر. بعد ذلك، قمنا بأمان بتعيين البيانات من الإدخال المسمى fname بقيمة الاسم إلى المتغير $name مع $_POST superglobal باستخدام الدالة htmlspecialchars(). لقد تحققنا مما إذا كان المتغير $name فارغًا أم لا باستخدام PHP if condition. إذا كان فارغا، فإننا نطبع الناتج "بدون اسم"، وإلا فإننا نطبع بيانات المتغير $name.
PHP سوبر جلوبال: $_GET
PHP $_GET هو PHP superglobal يُستخدم لجمع البيانات من نموذج HTML عبر طريقة GET. يمكننا أيضًا استرداد البيانات المرسلة من خلال الحصول على عنوان url باستخدام $_GET superglobal.
الحصول على البيانات من النموذج باستخدام PHP $_GET Super Global
في المثال أدناه، تلقينا بيانات من نموذج HTML باستخدام PHP $_GET superglobal.
<!DOCTYPE html>
<html>
<body>
<form method="post" action="<?php
echo $_SERVER[ 'PHP_SELF' ]; ?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php
if ($_SERVER[ 'REQUEST_METHOD' ] === 'GET') {
// input elementinden gelen veriyi değişkene ata
$name = htmlspecialchars($_GET[ 'fname' ]);
if (empty($name)) {
echo 'Ad yok';
} else {
echo $name;
}
}
?>
</body>
</html>في المثال أعلاه، قمنا بإنشاء نموذج يُرجع البيانات باستخدام التابع post. لقد قمنا بتمكينه من إرجاع البيانات على نفس الصفحة باستخدام $_SERVER['PHP_SELF']. لقد تحققنا من أن الطلب الذي يأتي مع $_SERVER['REQUEST_METHOD'] الفائق النطاق هو طلب نشر. بعد ذلك، قمنا بأمان بتعيين البيانات من الإدخال المسمى fname بقيمة الاسم إلى المتغير $name مع $_POST superglobal باستخدام الدالة htmlspecialchars(). لقد تحققنا مما إذا كان المتغير $name فارغًا أم لا باستخدام PHP if condition. إذا كان فارغا، فإننا نطبع الناتج "بدون اسم"، وإلا فإننا نطبع بيانات المتغير $name.
الحصول على البيانات من URL باستخدام PHP $_GET Super Global
في المثال أدناه، قمنا باسترداد البيانات من عنوان URL باستخدام PHP $_GET superglobal.
<!DOCTYPE html>
<html>
<body>
<a href="<?php
echo $_SERVER[ 'PHP_SELF' ] ?>?name=Onur%20Özden&website=www.onurozden.com.tr">Buraya Tıkla</a>
<?php
echo "Ben " . $_GET[ 'name' ] . " şu sitede PHP öğreniyorum: " . $_GET[ 'website' ];
?>
</body>
</html>في المثال أعلاه، بدلاً من كتابة اسم الملف الخاص بك، حصلنا على اسم الملف باستخدام $_SERVER superglobal. الآن دعونا نشرح ما فعلناه في هذا المثال. لقد أنشأنا مستند HTML وأعطينا معلمة الاسم لملف get.php. لقد أعطينا معلمة الاسم القيمة "Onur Özden" وفصلنا المعلمات بعلامة "&". بعد ذلك، قمنا بإنشاء معلمة موقع الويب وأعطيناها القيمة "onurozden.com.tr". لقد قمنا بطباعة النص "انقر هنا" على الملصق A. وبالوصول إلى الجزء PHP، قمنا بطباعة "اسمي" باستخدام الصدى واستخدمنا $_GET superglobal مع عامل التسلسل لاسترداد وطباعة بيانات المعلمة المسماة name. مرة أخرى، باستخدام عامل الدمج، قمنا بطباعة "وموقع الويب الخاص بي". استخدمنا مشغل التسلسل مرة أخرى وحصلنا على بيانات معلمة موقع الويب باستخدام $GET superglobal وقمنا بطباعتها.
PHP سوبر جلوبال: $_SERVER
إن $_SERVER superglobal هو متغير PHP superglobal الذي يحتوي على معلومات حول الرؤوس والمسارات ومواقع البرامج النصية. في المثال أدناه، نعرض كيفية استخدام $_SERVER superglobal.
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'];في المثال أعلاه، قمنا بتعريف المتغيرات المسماة $number1 و$number2 وأعطاهم قيمًا من النوع number. بعد ذلك، قمنا بتعريف دالة تسمى الإضافة والتي ترجع قيمة من نوع البيانات int. لقد قلنا أنه في $GLOBALS superglobal، يتم الاحتفاظ بأسماء المتغيرات كفهارس. لقد أنشأنا المتغير عن طريق إنشاء فهرس اسمه number3. لقد خصصنا لهذا المتغير مجموع المتغير $number2 والمتغير $number1، اللذين وصلنا إليهما من المنطقة العالمية باستخدام $GLOBALS superglobal. ثم قمنا بإرجاع هذه القيمة مع العودة وأنهينا الوظيفة. كخطوة أخيرة، نقوم بإخراج القيمة في دالة الإضافة () باستخدام الصدى.
جميع استخدامات PHP $_SERVER Super Global
| $_SERVER['PHP_SELF'] | إرجاع اسم الملف للبرنامج النصي الذي تم تنفيذه. |
| $_SERVER['GATEWAY_INTERFACE'] | إرجاع إصدار CGI (واجهة البوابة العامة) الذي يستخدمه الخادم. |
| $_SERVER['SERVER_ADDR'] | إرجاع عنوان IP للخادم المضيف. |
| $_SERVER['SERVER_NAME'] | إرجاع اسم الخادم الرئيسي. |
| $_SERVER['SERVER_SOFTWARE'] | إرجاع نص تعريف الخادم (مثل Apache/2.2.24). |
| $_SERVER['SERVER_PROTOCOL'] | إرجاع اسم وإصدار بروتوكول المعلومات (مثل HTTP/1.1). |
| $_SERVER['REQUEST_METHOD'] | إرجاع طريقة الطلب المستخدمة للوصول إلى الصفحة (مثل POST وGET). |
| $_SERVER['REQUEST_TIME'] | إرجاع الطابع الزمني لبداية الطلب (على سبيل المثال 1377687496). |
| $_SERVER['QUERY_STRING'] | إذا تم الوصول إلى الصفحة عبر سلسلة استعلام، فسيتم إرجاع سلسلة الاستعلام. |
| $_SERVER['HTTP_ACCEPT'] | إرجاع رأس القبول من الطلب الحالي. |
| $_SERVER['HTTP_ACCEPT_CHARSET'] | إرجاع رأس Accept_Charset من الطلب الحالي (مثل utf-8،ISO-8859-1). |
| $_SERVER['HTTP_HOST'] | إرجاع رأس المضيف من الطلب الحالي. |
| $_SERVER['HTTP_REFERER'] | إرجاع عنوان URL الكامل للصفحة الحالية (غير موثوق به حيث لا يدعمه جميع وكلاء المستخدم). |
| $_SERVER['HTTPS'] | يتحقق مما إذا كان يتم الاستعلام عن البرنامج النصي عبر بروتوكول HTTP الآمن (HTTPS). |
| $_SERVER['REMOTE_ADDR'] | إرجاع عنوان IP الذي يشاهد المستخدم منه الصفحة الحالية. |
| $_SERVER['REMOTE_HOST'] | إرجاع اسم المضيف من حيث يشاهد المستخدم الصفحة الحالية. |
| $_SERVER['REMOTE_PORT'] | إرجاع المنفذ المستخدم على جهاز المستخدم للتواصل مع خادم الويب. |
| $_SERVER['SCRIPT_FILENAME'] | إرجاع المسار المطلق للبرنامج النصي الذي يتم تنفيذه حاليًا. |
| $_SERVER['SERVER_ADMIN'] | إرجاع القيمة المعطاة لتوجيه SERVER_ADMIN في ملف تكوين خادم الويب (إذا كان البرنامج النصي الخاص بك يعمل على مضيف ظاهري، فستكون القيمة المحددة لذلك المضيف الظاهري) (مثل some@onurozden.com.tr). |
| $_SERVER['SERVER_PORT'] | إرجاع المنفذ الموجود على جهاز الخادم الذي يستخدمه خادم الويب للاتصال (مثل 80). |
| $_SERVER['SERVER_SIGNATURE'] | إرجاع إصدار الخادم واسم المضيف الظاهري المضاف إلى الصفحة التي أنشأها الخادم. |
| $_SERVER['PATH_TRANSLATED'] | إرجاع المسار المستند إلى نظام الملفات إلى البرنامج النصي الحالي. |
| $_SERVER['SCRIPT_FILENAME'] | إرجاع المسار إلى البرنامج النصي الحالي. |
| $_SERVER['SCRIPT_URI'] | إرجاع URI للصفحة الحالية. |



