Pembolehubah ajaib PHP

PHP menyediakan sejumlah besar pemalar pratakrif kepada mana-mana skrip yang dijalankannya.

Walau bagaimanapun, banyak pemalar ditakrifkan oleh perpustakaan sambungan yang berbeza dan hanya akan muncul apabila perpustakaan sambungan ini dimuatkan, atau selepas pemuatan dinamik, atau telah disertakan semasa penyusunan.

Terdapat lapan pemalar ajaib yang nilainya berubah bergantung pada kedudukannya dalam kod.

< td width="193" valign="top" style="border-width: 1px; border-style: solid; word-break: break-all;"><🎜>Laluan penuh dan nama fail fail. Jika digunakan dalam fail yang disertakan, mengembalikan nama fail yang disertakan. <🎜>Memandangkan 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.

    __LINE__

文件中的当前行号。





    __FILE__

文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。

自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径。




    __DIR__

文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。

它等价于 dirname(__FILE__)。除非是根目录,否则目录中名不包括末尾的斜杠。(PHP 5.3.0中新增)



    __FUNCTION__

函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。


    __CLASS__

类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)
__LINE__<🎜>
Nombor baris semasa dalam fail.
<🎜 >
<🎜><🎜>
<🎜><🎜>
<🎜><🎜>
<🎜><🎜> __FAIL__<🎜>
<🎜 >
<🎜><🎜>
<🎜><🎜>
<🎜><🎜> __DIR__<🎜>
<🎜>Direktori tempat fail terletak. Jika digunakan dalam fail yang disertakan, mengembalikan direktori tempat fail yang disertakan berada. <🎜><🎜>Ia bersamaan dengan dirname(__FILE__). Nama direktori tidak termasuk garis miring mengekor melainkan ia adalah direktori akar. (Baharu dalam PHP 5.3.0) <🎜>
<🎜>
<🎜><🎜>
<🎜><🎜> __FUNCTION__<🎜>
Nama fungsi (baru ditambah 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.
<🎜 >
<🎜><🎜> __CLASS__
<🎜>
Nama kelas (baharu dalam PHP 4.3.0). Sejak PHP 5, pemalar ini mengembalikan nama kelas apabila ia ditakrifkan (sensitif huruf besar-kecil)


    __TRAIT__

Trait 的名字(PHP 5.4.0 新加)。自 PHP 5.4.0 起,PHP 实现了代码复用的一个方法,称为 traits。


    __METHOD__

类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。


    __NAMESPACE__

当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)。

Mari terangkan nombor baris semasa dalam fail satu persatu.


Instance

<?php
 header("Content-type:text/html;charset=utf-8");    //设置编码
 echo '这是第 “ '  . __LINE__ . ' ” 行';
 
 ?>

Hasil menjalankan program:

Ini Baris "3"

__FILE__

Laluan penuh dan nama fail fail. Jika digunakan dalam fail yang disertakan, mengembalikan nama fail yang disertakan.

Memandangkan PHP 4.0.2, __FILE__ sentiasa mengandungi laluan mutlak (atau laluan mutlak yang diselesaikan dalam kes pautan simbolik), manakala versi sebelumnya kadangkala mengandungi laluan relatif

.

Instance

<?php
 header("Content-type:text/html;charset=utf-8");    //设置编码
 echo '该文件位于 “ '  . __FILE__ . ' ” ';
 ?>
Hasil berjalan program:

Fail terletak di "D: WWW11. php ”

__DIR__

Direktori tempat letak fail. Jika digunakan dalam fail yang disertakan, mengembalikan direktori tempat fail yang disertakan berada.

Ia bersamaan dengan dirname(__FILE__). Nama direktori tidak termasuk garis miring mengekor melainkan ia adalah direktori akar. (Baharu dalam PHP 5.3.0)

Instance

<?php
 header("Content-type:text/html;charset=utf-8");    //设置编码
 echo '该文件位于 “ '  . __DIR__ . ' ” ';
 ?>

Hasil menjalankan program:

Fungsi fail ini terletak di " D:WWW " Name (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.

Instance

<?php
header("Content-type:text/html;charset=utf-8");    //设置编码
function funtext() {
    echo  '函数名为:' . __FUNCTION__ ;
}
funtext();
?>


Hasil berjalan program:

Nama fungsi ialah: funtext

__CLASS__

Nama kelas (baharu dalam PHP 4.3.0). Memandangkan 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.

Instance

<?php
 header("Content-type:text/html;charset=utf-8");    //设置编码
 class classtest {
     function fun() {
         echo '类名为:'  . __CLASS__ . "<br>";
         echo  '函数名为:' . __FUNCTION__ ;
     }
 }
 $t = new classtest();
 $t->fun();
 ?>

Hasil berjalan program:

Nama kelas Untuk: classtest

Nama fungsi ialah: fun


__TRAIT__

Nama sifat (baru ditambah dalam PHP 5.4.0). Sejak PHP 5.4.0, PHP melaksanakan kaedah penggunaan semula kod yang dipanggil ciri.

Nama Trait termasuk skop di mana ia diisytiharkan (cth. FooBar).

Ahli yang diwarisi daripada kelas asas ditindih oleh kaedah MyHelloWorld dalam SayWorld Trait yang disisipkan. Tingkah lakunya konsisten dengan kaedah yang ditakrifkan dalam kelas MyHelloWorld. Susunan keutamaan ialah kaedah dalam kelas semasa mengatasi kaedah ciri, yang seterusnya mengatasi kaedah dalam kelas asas.

Instance

<?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();
 ?>

Hasil larian program:

Hello World!


__KAEDAH__

Nama kaedah kelas (PHP 5.0 .0 Baru ditambah). Mengembalikan nama kaedah seperti yang ditakrifkan (sensitif huruf besar-kecil).

<?php
 header("Content-type:text/html;charset=utf-8");    //设置编码
 function test() {
     echo  '函数名为:' . __METHOD__ ;
 }
 test();
 ?>

Hasil berjalan program:

Nama fungsi: ujian


__NAMESPACE__

Nama ruang nama semasa (sensitif huruf besar-besaran). Pemalar ini ditakrifkan pada masa penyusunan (baru dalam PHP 5.3.0).

<?php
 
 namespace MyProject;
 header("Content-type:text/html;charset=utf-8");    //设置编码
 echo '命名空间为:"', __NAMESPACE__, '"'; // 输出 "MyProject"
 ?>

Hasil pelaksanaan program:

Ruang nama ialah: "Projek Saya"



Meneruskan pembelajaran
||
<?php header("Content-type:text/html;charset=utf-8"); //设置编码 echo '这是第 “ ' . __LINE__ . ' ” 行'; ?>
  • Cadangan kursus
  • Muat turun perisian kursus