PHP variabel Sihir
Script PHP untuk menjalankannya menyediakan sejumlah konstanta yang telah ditetapkan.
Namun, banyak konstanta didefinisikan oleh berbagai ekstensi, dan hanya dimuat ketika ekstensi ini akan muncul, atau dimuat secara dinamis, atau telah dimasukkan pada waktu kompilasi ke dalamnya.
Ada delapan konstanta Sihir dan nilai-nilai mereka karena mereka mengubah posisi dalam kode berubah.
Misalnya __LINE__ nilai yang sangat tergantung pada garis di script untuk memutuskan. Konstanta khusus adalah case-sensitive, sebagai berikut:
__LINE__
File di nomor baris saat ini.
contoh:
<?php echo '这是第 “ ' . __LINE__ . ' ” 行'; ?>
Contoh di atas output:
这是第 “ 2 ” 行
__FILE__
Path lengkap dan nama file dari file. Jika digunakan dalam file yang disertakan, kemudian kembali nama file yang akan disertakan.
Sejak PHP 4.0.2 dan seterusnya, __ FILE__ selalu mengandung path absolut (jika itu adalah symbolic link, itu adalah path absolut diurai), dan di versi sebelumnya ini kadang-kadang berisi path relatif.
contoh:
<?php echo '该文件位于 “ ' . __FILE__ . ' ” '; ?>
Contoh di atas output:
该文件位于 “ E:\wamp\www\test\index.php ”
__DIR__
berkas katalog berada. Jika termasuk dalam file, direktori termasuk dalam file dikembalikan.
Hal ini setara dengan dirname (__ FILE__). Kecuali itu adalah direktori root, atau nama direktori tidak termasuk garis miring di akhir. (PHP 5.3.0 add)
contoh:
<?php echo '该文件位于 “ ' . __DIR__ . ' ” '; ?>
Contoh di atas output:
该文件位于 “ E:\wamp\www\test ”
__FUNCTION__
Fungsi nama (PHP 4.3.0 ditambahkan). Sejak PHP konstan ini mengembalikan nama fungsi seperti yang dinyatakan 5 kasus (case-sensitive). Dalam PHP 4 nilainya selalu huruf kecil.
contoh:
<?php function test() { echo '函数名为:' . __FUNCTION__ ; } test(); ?>
Contoh di atas output:
函数名为:test
__CLASS__
Nama kelas (PHP 4.3.0 ditambahkan). Sejak PHP konstan kembali nama kelas ini didefinisikan sebagai waktu dari 5 (case-sensitive).
Dalam PHP 4 nilainya selalu huruf kecil. nama kelas termasuk peran daerah yang dinyatakan (seperti Foo \ Bar). Catatan dari PHP 5.4 dan seterusnya __CLASS__ dari sifat juga berperan. Ketika digunakan dalam metode sifat, __ metode CLASS__ sifat adalah untuk memanggil nama kelas.
contoh:
<?php <?php class test { function _print() { echo '类名为:' . __CLASS__ . "<br>"; echo '函数名为:' . __FUNCTION__ ; } } $t = new test(); $t->_print(); ?>
Contoh di atas output:
类名为:test 函数名为:_print
__TRAIT__
Nama Trait (PHP 5.4.0 ditambahkan). Mulai dari PHP 5.4.0, PHP mengimplementasikan metode penggunaan kembali kode, disebut sifat.
Nama Trait termasuk peran daerah yang dinyatakan (seperti Foo \ Bar).
Ditutupi dari kelas dasar mewarisi anggota dimasukkan SayWorld Trait dalam metode MyHelloWorld. pendekatan yang konsisten perilaku MyHelloWorld didefinisikan dalam kelas. Prioritas adalah metode saat ini di kelas menimpa metode sifat, metode dan sifat yang meliputi metode kelas dasar.
<?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(); ?>
Di atas contoh output akan:
Hello World!
__METHOD__
Metode untuk kelas (PHP 5.0.0 ditambahkan). Metode ini mengembalikan nama seperti dinyatakan (case-sensitive).
contoh:
<?php function test() { echo '函数名为:' . __METHOD__ ; } test(); ?>
Contoh di atas output:
函数名为:test
__NAMESPACE__
Nama dari namespace saat ini (case-sensitive). konstan ini didefinisikan pada waktu kompilasi (PHP 5.3.0 ditambahkan).
contoh:
<?php namespace MyProject; echo '命名空间为:"', __NAMESPACE__, '"'; // 输出 "MyProject" ?>
Contoh di atas output:
命名空间为:"MyProject"