Home  >  Article  >  Backend Development  >  Detailed explanation of magic constant examples in php

Detailed explanation of magic constant examples in php

怪我咯
怪我咯Original
2017-05-03 17:33:311663browse

What are magic constants?

When explaining PHP constants, we know that most of the constants in PHP are unchanged, but there are 8 predefined constants that will change as the location of the code where they are located changes. These 8 A constant is called a magic constant. These special constants are not case-sensitive.

PHP's "magic constants" are as follows:

##FunctionDetection type__LINE__The current line number in the file. __FILE__The full path and file name of the file. If used within an included file, returns the name of the included file. Since PHP 4.0.2, __FILE__ always contains an absolute path (or the resolved absolute path in the case of a symbolic link), while versions before that sometimes contained a relative path. __DIR__The directory where the file is located. If used within an included file, returns the directory where the included file is located. It is equivalent to dirname(__FILE__). Directory names do not include the trailing slash unless they are the root directory. (New in PHP 5.3.0) __FUNCTION__ Function name (New in PHP 4.3.0). Since PHP 5 this constant returns the name of the function as it was defined (case sensitive). In PHP 4 this value is always lowercase. __CLASS__The name of the class (newly added in PHP 4.3.0). Since PHP 5 this constant returns the name of the class when it was defined (case sensitive). In PHP 4 this value is always lowercase. The class name includes the scope in which it is declared (e.g. Foo\Bar). Note that since PHP 5.4 __CLASS__ also works for traits. When used in a trait method, __CLASS__ is the name of the class that calls the trait method __TRAIT__The name of the Trait (new in PHP 5.4.0). Since PHP 5.4 this constant returns the name of the trait as it was defined (case-sensitive). The Trait name includes the scope in which it is declared (for example, Foo\Bar)__METHOD__The method name of the class (newly added in PHP 5.0.0). Returns the name of the method as it was defined (case-sensitive). __NAMESPACE__The name of the current namespace (case-sensitive). This constant is defined at compile time (new in PHP 5.3.0).

Detailed explanation of magic constant examples in phpThe "__" in the above table is two underscores, not one "_".

Magic constants are often used to obtain current environment information or record logs.

Let me take a look at the usage of these magic constants:

__LINE__ Get the current line number in the file.

Example

<?PHP
header("content-type:text/html;charset=utf-8");
echo "这是第 ". __LINE__ ."行";
echo "<br/>";
?>

Code running result:

Detailed explanation of magic constant examples in php

__FILE__ Get the full path and file name of the file, if When used in an included file, returns the included file name.

Detailed explanation of magic constant examples in php

__DIR__ Get the directory where the file is located. If used within an included file, returns the directory where the included file is located.

Example

<?php
header("content-type:text/html;charset=utf-8");
echo "该文件位于 ". __DIR__ ."文件夹下";
echo "<br/>";
?>

Code running result:

Detailed explanation of magic constant examples in php

__FUNCTION__ Get the name of the function when it is defined (differentiate uppercase and lowercase), only the function name

instance

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

code running result is returned:

Detailed explanation of magic constant examples in php

__CLASS__ Get the The name when the class is defined (case-sensitive)

Example

<?php
header("content-type:text/html;charset=utf-8");
class test {
    function show() {
        echo "该类名为:". __CLASS__ . "<br>";
        echo "该函数名为:". __FUNCTION__ ;
        echo "<br/>";
    }
}
$t = new test();
$t->show();
?>

Code running result:

Detailed explanation of magic constant examples in php

__METHOD__ Get the name of the method when it is defined (case-sensitive). If the function is in a class, return the class method name,

That is: Class name::Method name.

Example

<?php
    header("content-type:text/html;charset=utf-8");
    function test1() {
        echo  "该函数名为:". __METHOD__ ;
        echo "<br/>";
    }
    test1();
    ?>
    <?php
    class chhua{
        function test(){
            //返回类方法的名称
            echo __METHOD__;
        }
    }
    $e=new chhua();
    $e->test();//输出:chhua::test
    ?>

Code running result:

Detailed explanation of magic constant examples in php

##__NAMESPACE__ The name of the current namespace (case-sensitive)

<?php
namespace MyProject;

echo &#39;"&#39;, __NAMESPACE__, &#39;"&#39;; // 输出 "MyProject"
?>

Code running result:

Detailed explanation of magic constant examples in php

The above is the detailed content of Detailed explanation of magic constant examples in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn