PHP 魔术常量解释用法大全解

2021年3月16日12:22:53 发表评论 824 次浏览

魔术常量

魔术常量是PHP中预定义的常量, 它们是根据其用法使用的。这些常量是由各种扩展创建的。 PHP中有9个魔术常量, 所有常量在编译时都可以解析, 这不同于在运行时解析的常规常量。有八个魔术常量以双下划线(__)开头和结尾。

下面列出了所有常量以及示例代码:

__line__:

这个魔术常量返回文件的当前行号。如果你在程序文件中的某个位置使用此魔术常量, 则此常量将在编译时显示行号。

语法如下:

.__line__

例子:

<?php
   
echo "The Line number is : " . __line__ ;
   
?>

输出如下:

The Line number is : 3

__file__:

这个魔术常量返回执行文件的完整路径以及文件名。

语法如下:

.__file__

例子:

<?php
   
echo "The file name is : " . __file__ ;
   
?>

输出如下:

The file name is : /home/3d27a639c57aaed9efa5880e613bc273.php

__dir__:

这个魔术常量返回执行文件的目录。

语法如下:

.__dir__

例子:

<?php
   
echo "The directory is : " . __dir__;
   
?>

输出如下:

The directory is : /home

__function__:

该魔术常量返回包含该魔术常量的函数的名称。

语法如下:

.__function__

例子:

<?php
function Geeks(){
     echo "The function name is : " . __function__ ;
}
Geeks();
?>

输出如下:

The function name is : Geeks

__class__:

该魔术常量返回包含该魔术常量的类的名称。

语法如下:

__class__

例子:

<?php
class Geeks
{
     public function getClassName(){
         return __class__ ;
     }
}
$obj = new Geeks();
echo $obj ->getClassName(); 
?>

输出如下:

Geeks

__method__:

该魔术常量返回包含该魔术常量的方法名称。

语法如下:

__method__

例子:

<?php
class Company
{
     public function lsbin(){
         return __method__ ;
     }
}
$obj = new Company();
echo  $obj ->lsbin(); 
?>

输出如下:

Company::lsbin

__namespace__:

此魔术常量返回包含此魔术常量的当前名称。

语法如下:

__namespace__

例子:

<?php
namespace lsbin;
  
class Company {
     public function gfg() {
         return __namespace__;
     }
}
  
$obj = new Company();
echo  $obj ->gfg(); 
  
?>

输出如下:

lsbin

__trait__:

该魔术常量返回包含该魔术常量的特征名称。

语法如下:

__trait__

例子:

<?php
trait lsbin{  
     function gfg(){  
         echo __trait__;  
         }  
     }  
     class Company{  
         use lsbin;  
         }  
     $a = new Company;  
     $a ->gfg();  
?>

输出如下:

lsbin

ClassName :: class:

该魔术常量返回完全限定的类名称。

语法如下:

ClassName::class

例子:

<?php
  
namespace Computer_Sciecnec_Portal;
class Geeks{ }
  
echo Geeks:: class ; //Classname::class
  
?>

输出如下:

Computer_Sciecnec_Portal\Geeks

参考: https://www.php.net/manual/en/language.constants.predefined.php


木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: