PHP Superglobal المتغيرات و Register_Globals
يحتوي PHP على نوع خاص من المتغيرات يسمى superglobal. السبب في أن هذه المتغيرات خاصة لأنها متوفرة تلقائيًا لأي برنامج PHP دون أن ينشئها أو يحددها المبرمج في برنامجه. يمكنك التفكير فيها كمتغيرات "مدمجة".

تختلف طريقة وصولك إلى هذه المتغيرات اعتمادًا على ما إذا كان قد تم تشغيل السجل أو إيقاف تشغيله على الخادم الخاص بك. قبل إصدار PHP 4.2 ، تم تشغيل register_globals افتراضيًا. ومع ذلك القيام به لأسباب أمنية ؛ يتم الآن إيقاف تشغيل هذا الإعداد بشكل افتراضي (الإصدار 4.2+). بالطبع ، الأمر متروك للأشخاص الذين يشغلون الخادم الخاص بك لتقرير ما إذا كانوا سيتخطون الإعداد الافتراضي ويقومون بتشغيل register_globals. أسهل طريقة لاختبار الخادم الخاص بك هي استخدام phpinfo (). من المحتمل أن يكون لديك رابط إلى صفحة الويب هذه في المنطقة الإدارية بموقعك على الويب. في صفحة الويب هذه ، ستجد قسم Configuration PHP Core الذي يحتوي على هذه المعلومات.

كما هو مذكور أعلاه ، سوف تصل إلى superglobals بشكل مختلف حسب إعداد الخادم الخاص بك. لإعداد الملقم الجديد أعطيت superglobals أسماء جديدة. إذا كان الخادم الخاص بك لا يزال لديه الإعداد القديم ، فمن الأفضل البدء في استخدام الأسماء الجديدة على أي حال. إذا كنت تستخدم هذه الأسماء الجديدة ، يمكنك التأكد من أن برامجك ستعمل تحت كل تكوينات الخادم. ومع ذلك ، ليس هذا هو الحال بالنسبة للأسماء القديمة. سيعملون فقط لتكوين الخادم القديم. يعرض الرسم البياني أدناه الأسماء القديمة والجديدة ووصفًا للبطولات الخارقة. لاحظ أن أسماء هذه superglobals هي في جميع الحروف الكبيرة.

جديدقديموصف
$ _GET $ HTTP_GET_VARS يحتوي هذا superglobal على المتغيرات المرسلة إلى البرنامج بواسطة أسلوب get مثل سلسلة gery.
$ _POST $ HTTP_POST_VARS يحتوي هذا superglobal على المتغيرات المرسلة إلى البرنامج بواسطة طريقة النشر.
$ _COOKIE $ HTTP_COOKIE_VARS هذا superglobal يحتوي على المتغيرات المتاحة للبرنامج من ملف تعريف الارتباط.
$ _SESSION $ HTTP_SESSION_VARS هذا superglobal يحتوي على المتغيرات التي سجلها البرنامج عبر جلسة.
$ _files $ HTTP_POST_FILES هذا superglobal يحتوي على المتغيرات المتاحة من تحميل ملف.
$ _ENV $ _HTTP_ENV_VARS هذا superglobal يحتوي على المتغيرات المتاحة من بيئة الخادم.
$ _REQUEST -- هذا superglobal يحتوي على المتغيرات المرسلة إلى البرنامج عن طريق أي نوع من إدخال المستخدم. هذا هو النوع الأكثر عامة أو عالمية من superglobal.
$ _SERVER -- يحتوي هذا superglobal على معلومات حول الخادم مثل مسارات الملفات.





تعليمات الفيديو: [ Learn PHP 5 In Arabic ] #79 - Predefined Variables - Globals (قد 2024).