Kami telah mempelajari beberapa kaedah sihir yang biasa digunakan sebelum ini. Selain kaedah sihir, PHP juga menyediakan beberapa pemalar ajaib ringkasan.
Malah, PHP juga menyediakan banyak pemalar tetapi semuanya bergantung pada pelbagai pustaka sambungan beberapa pemalar adalah universal dan mengikut lokasi kod di mana ia berada untuk menyediakan beberapa maklumat berkaitan lokasi ** *Malar Sihir***.
Pemalar ajaib adalah tidak peka huruf besar-besaran, __LINE__ dan __line__ adalah sama, tetapi untuk pembangunan kejuruteraan, pemalar hendaklah dalam huruf besar sebanyak mungkin.
__LINE__
Nombor baris semasa dalam fail.
echo __LINE__ . PHP_EOL; // 3 function testLine() { echo __LINE__ . PHP_EOL; // 7 } class TestLineClass { function testLine() { echo __LINE__ . PHP_EOL; // 14 } } testLine(); $test = new TestLineClass(); $test->testLine();
__FAIL__
Laluan penuh dan nama fail fail. Jika digunakan dalam fail yang disertakan, mengembalikan nama fail yang disertakan. Sejak PHP 4.0.2, __FILE__ sentiasa mengandungi laluan mutlak (atau laluan mutlak yang diselesaikan dalam kes pautan simbolik), manakala versi sebelum itu kadangkala mengandungi laluan relatif.
echo __FILE__ . PHP_EOL; // D:\phpproject\php\newblog\php-magic-constant.php
__DIR__
Direktori tempat letak fail. Jika digunakan dalam fail yang disertakan, mengembalikan direktori tempat fail yang disertakan berada. Ia bersamaan dengan diname(__FILE__). Nama direktori tidak termasuk garis miring mengekor melainkan ia adalah direktori akar. (Baharu dalam PHP 5.3.0) =
echo __DIR__ . PHP_EOL; // D:\phpproject\php\newblog
__FUNCTION__
Nama fungsi (baharu dalam PHP 4.3.0). Memandangkan PHP 5 pemalar ini mengembalikan nama fungsi seperti yang ditakrifkan (sensitif huruf besar-besaran). Dalam PHP 4 nilai ini sentiasa huruf kecil.
echo __FUNCTION__ . PHP_EOL; // 啥都没输出 function testFunction() { echo __FUNCTION__ . PHP_EOL; // testFunction } class TestFunctionClass { function testFunction1() { echo __FUNCTION__ . PHP_EOL; // testFunction1 } } testFunction(); $test = new TestFunctionClass(); $test->testFunction1();
__CLASS__
Nama kelas (baharu dalam PHP 4.3.0). Sejak PHP 5 pemalar ini mengembalikan nama kelas apabila ia ditakrifkan (sensitif huruf besar-besaran). Dalam PHP 4 nilai ini sentiasa huruf kecil. Nama kelas termasuk skop di mana ia diisytiharkan (cth. FooBar). Ambil perhatian bahawa sejak PHP 5.4 __CLASS__ juga berfungsi untuk ciri. Apabila digunakan dalam kaedah trait, __CLASS__ ialah nama kelas yang memanggil kaedah trait.
echo __CLASS__ . PHP_EOL; // 什么也没有 function testClass() { echo __CLASS__ . PHP_EOL; // 什么也没有 } trait TestClassTrait { function testClass2() { echo __CLASS__ . PHP_EOL; // TestClassClass } } class TestClassClass { use TestClassTrait; function testClass1() { echo __CLASS__ . PHP_EOL; // TestClassClass } } testClass(); $test = new TestClassClass(); $test->testClass1(); $test->testClass2();
__TRAIT__
Nama Trait (baharu dalam PHP 5.4.0). Memandangkan PHP 5.4 pemalar ini mengembalikan nama sifat seperti yang ditakrifkan (sensitif huruf besar-kecil). Nama sifat termasuk skop di mana ia diisytiharkan (cth. FooBar).
echo __TRAIT__ . PHP_EOL; // 什么也没有 function testTrait() { echo __TRAIT__ . PHP_EOL; // 什么也没有 } trait TestTrait { function testTrait2() { echo __TRAIT__ . PHP_EOL; // TestTrait } } class TestTraitClass { use TestTrait; function testTrait1() { echo __TRAIT__ . PHP_EOL; // 什么也没有 } } testTrait(); $test = new TestTraitClass(); $test->testTrait1(); $test->testTrait2();
__KAEDAH__
Nama kaedah kelas (baru ditambah dalam PHP 5.0.0). Mengembalikan nama kaedah seperti yang ditakrifkan (sensitif huruf besar-kecil).
echo __METHOD__ . PHP_EOL; // 什么也没有 function testMethod() { echo __METHOD__ . PHP_EOL; // testMethod } class TestMethodClass { function testMethod1() { echo __METHOD__ . PHP_EOL; // TestMethodClass::testMethod1 } } testMethod(); $test = new TestMethodClass(); $test->testMethod1();
__NAMESPACE__
Nama ruang nama semasa (sensitif huruf besar-kecil). Pemalar ini ditakrifkan pada masa penyusunan (baru dalam PHP 5.3.0).
echo __NAMESPACE__ . PHP_EOL; // test\magic\constant class TestNameSpaceClass { function testNamespace() { echo __NAMESPACE__ . PHP_EOL; // test\magic\constant } } $test = new TestNameSpaceClass(); $test->testNamespace();
Kod penuh: https://github.com/zhangyue0503/php/blob/master/newblog/php-magic-constant.php
Disyorkan Kajian: "Tutorial Video PHP"
Atas ialah kandungan terperinci Apakah pemalar ajaib dalam PHP? Apakah pemalar ajaib? (Ringkaskan). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!