Rumah >pembangunan bahagian belakang >tutorial php >Ketahui cara menggunakan lapan pemalar ajaib yang biasa digunakan dalam PHP (contoh terperinci)

Ketahui cara menggunakan lapan pemalar ajaib yang biasa digunakan dalam PHP (contoh terperinci)

WBOY
WBOYasal
2021-11-03 15:17:034058semak imbas

Dalam artikel sebelumnya "Membawa anda untuk memahami definisi dan pemerolehan nilai pemalar PHP", kami memperkenalkan pengetahuan asas pemalar dalam PHP secara terperinci Dalam artikel ini, mari kita lihat PHP . Pengetahuan tentang pemalar ajaib dalam , saya harap ia akan membantu semua orang!

Ketahui cara menggunakan lapan pemalar ajaib yang biasa digunakan dalam PHP (contoh terperinci)

Dalam artikel sebelum ini, kami belajar tentang pengetahuan asas definisi mudah dan pemerolehan pemalar dalam PHP, serta beberapa kaedah ajaib. Seterusnya, mari kita lihat pengetahuan yang berkaitan tentang pemalar sihir, apakah itu, dan apakah kegunaan utama pemalar sihir.

Apakah pemalar ajaib

Pemalar ajaib bukanlah pemalar yang betul-betul Kami memperkenalkan pemalar dalam artikel kami sebelum ini Perhatikan bahawa pemalar tidak boleh diubah selepas ia ditakrifkan. Tetapi pemalar ajaib ialah beberapa pemalar yang dipratentukan oleh PHP Pemalar yang dipratentukan ini boleh berubah disebabkan oleh perubahan dalam lokasinya.

Banyak pemalar yang dipratentukan disediakan oleh PHP dalam mana-mana skrip Pemalar yang berbeza mempunyai perpustakaan sambungan yang berbeza. Pemalar ajaib boleh difahami sebagai pemalar pratakrif khas.

Format penulisan pemalar ajaib biasanya dua garis bawah (__) bermula dengan dua garis bawah dan berakhir dengan dua garis bawah, seperti: __LINE__, __FILE__, dsb. Apabila bercakap tentang format penulisan, anda perlu tahu bahawa pemalar ajaib tidak sensitif huruf besar-besaran, tetapi cuba gunakan huruf besar semasa menulis.

Penggunaan pemalar ajaib

Persekitaran operasi PHP menyediakan lapan pemalar ajaib, seperti yang dinyatakan di atas, walaupun ia dipanggil Pemalar, tetapi tidak betul-betul pemalar, nilai mereka berubah dengan perubahan dalam kod Seterusnya, mari kita lihat masing-masing lapan pembolehubah ajaib ini.

1.<strong><span style="font-size: 16px;">__LINE__ </span></strong>__LINE__

bermaksud Nombor baris semasa dalam fail

__LINE__

Seterusnya, mari kita lihat penggunaan

pemalar ajaib melalui contoh, dan lihat bagaimana nilai pemalar ajaib berubah apabila kedudukan perubahan.
<?php
echo &#39;这是第 " &#39; . __LINE__ . &#39; " 行<br/>&#39;;
echo &#39;这是第 " &#39; . __LINE__ . &#39; " 行<br/>&#39;;
echo &#39;---------------<br/>&#39;;
echo &#39;这是第 " &#39; . __LINE__ . &#39; " 行&#39;;
?>

Contohnya adalah seperti berikut:

Hasil keluaran:Ketahui cara menggunakan lapan pemalar ajaib yang biasa digunakan dalam PHP (contoh terperinci)

Dalam contoh di atas, kami lulus pembolehubah ajaib __LINE_ _ boleh mendapatkan nombor baris lokasi kod semasa.

Apa yang perlu diberi perhatian ialah: kita dapati bahawa apabila lokasi kod berbeza, hasil output juga berbeza. Oleh itu, kami berkata di atas bahawa pemalar ajaib tidak dianggap pemalar, dan nilainya berubah apabila kod berubah. Mari lihat ke bawah: __FILE__ 2.

mewakili laluan mutlak fail

__FILE__

Laluan mutlak fail boleh diperolehi melalui

, dan laluan ini mengandungi nama fail. Perlu diingatkan bahawa jika pemalar ajaib digunakan dalam fail yang disertakan, hasil yang dikembalikan ialah nama fail yang disertakan.
<?php
echo &#39;该文件位于 " &#39; . __FILE__ . &#39; " &#39;;
?>

Mari kita lihat penggunaan __FILE__ melalui contoh seperti berikut:

Hasil keluaran: Ketahui cara menggunakan lapan pemalar ajaib yang biasa digunakan dalam PHP (contoh terperinci)

<.>

Dalam contoh di atas, kami menggunakan __FILE__ untuk mendapatkan laluan mutlak fail. __DIR__3. digunakan untuk menunjukkan direktori di mana fail berada

__DIR__ boleh diperolehi melalui dirname(__FILE__) Direktori tempat fail terletak masih berbeza daripada laluan mutlak yang digunakan oleh __FILE__ untuk mendapatkan fail Direktori tempat fail terletak tidak mempunyai nama fail fail semasa. Pemalar ajaib ini juga boleh difahami sebagai

.

Mari kita lihat penggunaan pemalar ajaib __DIR__ melalui contoh seperti berikut:
<?php
echo &#39;该文件位于 " &#39; . __DIR__ . &#39; " &#39;;
echo  dirname(__FILE__);
?>


Hasil keluaran:

Ketahui cara menggunakan lapan pemalar ajaib yang biasa digunakan dalam PHP (contoh terperinci)

Dalam contoh di atas, kami memperoleh direktori di mana fail semasa terletak melalui dua kaedah, satu adalah melalui pemalar ajaib __DIR__, dan satu lagi ialah dirname(__FILE__). sama.

4.__FUNCTION__ Digunakan untuk mendapatkan nama fungsi atau nama kaedah semasa

Melalui __FUNCTION__ anda boleh mendapatkan nama atau kaedah daripada fungsi semasa Seterusnya, mari kita lihat penggunaan pemalar ajaib __FUNCTION__ melalui contoh.

Contohnya adalah seperti berikut:

<?php
function test() {
 echo &#39;通过__FUNCTION__获取的函数名为:&#39; . __FUNCTION__ ;
}
test();
?>

Hasil keluaran:

Ketahui cara menggunakan lapan pemalar ajaib yang biasa digunakan dalam PHP (contoh terperinci)

Melalui contoh di atas kita faham bahawa __FUNGSI__ boleh mendapatkan semasa Nama fungsi fungsi.

5.__CLASS__  用于获取当前的类名

通过__CLASS__可以用于获取当前的类名,齐总也包括了当前类的作用区域或命名空间。接下来我们通过示例来看一下__CLASS__的使用。

示例如下:

<?php
class test {
 function _print() {
  echo &#39;通过__CLASS__获取的类名为:&#39; . __CLASS__ . "<br>";
  echo &#39;通过__FUNCTION__获取的函数名为:&#39; . __FUNCTION__ ;
 }
}
$t = new test();
$t->_print();
?>

输出结果:

Ketahui cara menggunakan lapan pemalar ajaib yang biasa digunakan dalam PHP (contoh terperinci)

通过上述示例已经了解在PHP中可以通过__CLASS__来获取当前的类名。

6.__TRAIT__  当前的trait名称

通过__TEAIT__能够表示当前的trait名称,这其中包括了trait的作用区域或者命名空间。接下来我们通过示例来看一下__TRAIT__的使用。

示例如下:

<?php
class Base {
 public function sayHello() {
  echo &#39;Hello &#39;;
 }
}
trait SayWorld {
 public function sayHello() {
  parent::sayHello();
  echo &#39;World!&#39;;
 }
}
class MyHelloWorld extends Base {
 use SayWorld;
}
$o = new MyHelloWorld();
$o->sayHello();
?>

输出结果:

Ketahui cara menggunakan lapan pemalar ajaib yang biasa digunakan dalam PHP (contoh terperinci)

7.__METHOD__  当前的方法名

通过__METHOD__能够获取当前的方法名,其中也包括类名,接下来我们通过示例来看一下__METHOD__的使用方法,示例如下:

<?php
function testMethod()
{
    echo &#39;当前的函数名为:&#39; . __METHOD__ . PHP_EOL . &#39;<br/>&#39;;
}
class TestMethodClass
{
    function testMethod1()
    {
        echo &#39;当前的方法名和类名为:&#39; . __METHOD__ . PHP_EOL; 
    }
}
testMethod();
$test = new TestMethodClass();
$test->testMethod1();
?>

输出结果:

Ketahui cara menggunakan lapan pemalar ajaib yang biasa digunakan dalam PHP (contoh terperinci)

上述示例中,我们通过__METHOD__获取了函数名和方法名。其中方法名中包括了类名。

8.__NAMESPACE__  当前文件的命名空间名称

通过__NAMESPACE__可以获取当前文件的命名空间名称,接下来我们通过示例来看一下,示例如下:

<?php
namespace MyProject;
echo &#39;命名空间为:"&#39;, __NAMESPACE__, &#39;"&#39;; 
?>

输出结果:

Ketahui cara menggunakan lapan pemalar ajaib yang biasa digunakan dalam PHP (contoh terperinci)

到此我们便是通过示例将八种魔术常量了解了一下。

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

Atas ialah kandungan terperinci Ketahui cara menggunakan lapan pemalar ajaib yang biasa digunakan dalam PHP (contoh terperinci). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn