PHP ماجيك متغير
أي PHP النصي لتشغيله يوفر عددا من الثوابت المعرفة مسبقا.
ومع ذلك، يتم تعريف العديد من الثوابت التي كتبها امتدادات مختلفة، وتحميل فقط عندما ستظهر هذه الإضافات، أو حيوي تحميلها، أو قد أدرج في وقت الترجمة فيه.
هناك ثمانية الثوابت سحر والقيم لأنها تغير موقفها في رمز تغيير.
على سبيل المثال __LINE__ القيمة التي كان يعتمد على الخط في البرنامج النصي لاتخاذ قرار. هذه الثوابت خاصة حساسة لحالة الأحرف، على النحو التالي:
__LINE__
الملفات في رقم السطر الحالي.
على سبيل المثال:
<?php echo '这是第 “ ' . __LINE__ . ' ” 行'; ?>
إخراج المثال أعلاه هو:
这是第 “ 2 ” 行
__FILE__
المسار الكامل واسم الملف. إذا ما استخدمت في ملف وشملت، ثم يعود اسم الملف ليتم تضمينها.
منذ PHP 4.0.2 فصاعدا، __ FILE__ يحتوي دائما مسار مطلق (إذا كان هو ارتباط رمزي، هو مسار مطلق تحليل)، وفي هذا الإصدار السابق تتضمن أحيانا مسار نسبي.
على سبيل المثال:
<?php echo '该文件位于 “ ' . __FILE__ . ' ” '; ?>
إخراج المثال أعلاه هو:
该文件位于 “ E:\wamp\www\test\index.php ”
__DIR__
يقع ملف الكتالوج. إذا تضمينها في ملف، يتم تضمين الدليل يتم إرجاع الملف.
وهو ما يعادل dirname (__ FILE__). إلا إذا كان الدليل الجذر، أو اسم الدليل لا يتضمن مائلة في نهاية المطاف. (PHP 5.3.0 إضافة)
على سبيل المثال:
<?php echo '该文件位于 “ ' . __DIR__ . ' ” '; ?>
إخراج المثال أعلاه هو:
该文件位于 “ E:\wamp\www\test ”
__FUNCTION__
اسم وظيفة (PHP 4.3.0 المضافة). منذ PHP هذا الثابت إرجاع اسم الدالة كما تم الإعلان عن 5 حالات (القضية الحساسة). في PHP 4 وأحرف صغيرة قيمتها دائما.
على سبيل المثال:
<?php function test() { echo '函数名为:' . __FUNCTION__ ; } test(); ?>
إخراج المثال أعلاه هو:
函数名为:test
__CLASS__
(PHP 4.3.0 المضافة) اسم الفئة. منذ PHP يعرف هذا عوائد ثابتة اسم الفئة كوقت من 5 (حالة الأحرف).
في PHP 4 وأحرف صغيرة قيمتها دائما. اسم الفئة بما في ذلك دور المنطقة التي أعلنت (مثل فو \ بار). نلاحظ من PHP 5.4 فصاعدا __CLASS__ من سمة أيضا أن تلعب دورا في ذلك. عند استخدامها في طرق سمة، __ طريقة CLASS__ سمة في الدعوة هو اسم الفئة.
على سبيل المثال:
<?php <?php class test { function _print() { echo '类名为:' . __CLASS__ . "<br>"; echo '函数名为:' . __FUNCTION__ ; } } $t = new test(); $t->_print(); ?>
إخراج المثال أعلاه هو:
类名为:test 函数名为:_print
__TRAIT__
اسم سمة (PHP 5.4.0 المضافة). بدءا من PHP 5.4.0، PHP تطبق طريقة إعادة استخدام التعليمات البرمجية، ودعا الصفات.
اسم سمة بما في ذلك دور المنطقة التي أعلنت (مثل فو \ بار).
وتغطي من الفئة الأساسية يرث أعضاء إدخال SayWorld سمة في طريقة MyHelloWorld. نهج متسق السلوك MyHelloWorld المحددة في الصف. الأولوية هي الطريقة الحالية في فئة يتجاوز الأسلوب سمة، طريقة وصفة تغطي أسلوب الفئة الأساسية.
<?php class Base { public function sayHello() { echo 'Hello '; } } trait SayWorld { public function sayHello() { parent::sayHello(); echo 'World!'; } } class MyHelloWorld extends Base { use SayWorld; } $o = new MyHelloWorld(); $o->sayHello(); ?>
ما سبق إخراج المثال الإرادة:
Hello World!
__METHOD__
طرق لفئات (PHP 5.0.0 بإضافة). هذا الأسلوب بإرجاع اسم أعلن أنه (حالة الأحرف).
على سبيل المثال:
<?php function test() { echo '函数名为:' . __METHOD__ ; } test(); ?>
إخراج المثال أعلاه هو:
函数名为:test
__NAMESPACE__
اسم من مساحة الاسم الحالي (القضية الحساسة). هذا هو تعريف ثابت في وقت الترجمة (PHP 5.3.0 بإضافة).
على سبيل المثال:
<?php namespace MyProject; echo '命名空间为:"', __NAMESPACE__, '"'; // 输出 "MyProject" ?>
إخراج المثال أعلاه هو:
命名空间为:"MyProject"