Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP中的魔术常量是什么

PHP中的魔术常量是什么

青灯夜游
青灯夜游asal
2019-01-25 17:38:353897semak imbas

魔术(Magic)常量是PHP中预定义的常量,这些常量可以根据它们的使用位置而变化。本篇文章就来带大家认识一下PHP魔术常量,介绍一些常用的PHP魔术常量,希望对大家有所帮助。

PHP中的魔术常量是什么

魔术常数以两个下划线(__)开头,以两个下划线(__)结束。下面我们就来介绍一些常用的PHP魔术常量。

__LINE__

__LINE__常量会返回文件的当前行号。例:

<?php
header("content-type:text/html;charset=utf-8");
echo "当前行数:" . __LINE__ . "<br>"; // 第3行
echo "当前行数:" . __LINE__ . "<br>"; // 第4行
echo "当前行数:" . __LINE__ . "<br>"; // 第5行
?>

输出:

2.jpg

__FILE__

__FILE__常量返回正在执行的PHP文件的完整路径和名称;如果在include中使用,则返回包含文件的名称。

<?php
header("content-type:text/html;charset=utf-8");
// 显示此文件的绝对路径
echo "此文件的完整路径是: " . __FILE__;
?>

输出:

3.jpg

__DIR__

__DIR__常量返回文件的目录。如果在include中使用,则返回包含文件的目录。例:

<?php
header("content-type:text/html;charset=utf-8");
// 显示此文件的目录
echo "此文件的目录是: " . __DIR__;
?>

输出:

4.jpg

__FUNCTION__

__FUNCTION__常量返回当前函数的名称。例:

<?php
header("content-type:text/html;charset=utf-8");
function myFunction(){
    echo  "函数名是:" . __FUNCTION__;
}
myFunction(); 
?>

输出:

5.jpg

__CLASS__

__CLASS__常量返回当前类的名称。

<?php
header("content-type:text/html;charset=utf-8");
class MyClass
{
    public function getClassName(){
        return __CLASS__;
    }
}
$obj = new MyClass();
echo $obj->getClassName(); 
?>

输出:

6.jpg

__METHOD__

__METHOD__常量返回当前类方法的名称。

<?php
header("content-type:text/html;charset=utf-8");
class Sample
{
    public function myMethod(){
        echo __METHOD__;
    }
}
$obj = new Sample();
$obj->myMethod(); 
?>

输出:

7.jpg

__NAMESPACE__

__NAMESPACE__常量返回当前命名空间的名称。

<?php
// 定义代码在 &#39;MyNamespace&#39; 命名空间中
namespace MyNamespace;
class MyClass
{
    public function getNamespace(){
        return __NAMESPACE__;
    }
}
$obj = new MyClass();
echo $obj->getNamespace(); // Displays: MyNamespace
?>

输出:

8.jpg

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!

Atas ialah kandungan terperinci PHP中的魔术常量是什么. 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
Artikel sebelumnya:PHP怎么和MySQL连接Artikel seterusnya:cakephp是什么