PHP的magic常量

魔术常数 魔术常量是PHP中预定义的常量,它们会根据使用情况进行更改。它们以双下划线(__)开头,并以双下划线…

魔术常数

魔术常量是PHP中预定义的常量,它们会根据使用情况进行更改。它们以双下划线(__)开头,并以双下划线结尾。

它们与其他预定义常量相似,但是随着它们随上下文更改其值,它们称为魔术常量。

PHP中有九个魔术常数。其中八个魔术常数以双下划线(__)开头和结尾。

  • __LINE__
  • __FILE__
  • __DIR__
  • __FUNCTION__
  • __CLASS__
  • __TRAIT__
  • __METHOD__
  • __NAMESPACE__
  • ClassName :: class

与常规常量不同,所有常量都在编译时而不是运行时解析。魔术常数不区分大小写。

变更日志

Version Description
5.3.0 Added __DIR__ and __NAMESPACE__ magic constant
5.4.0 Added __TRAIT__ magic constant
5.5.0 Added ::class magic constant

以下示例代码定义了所有常量:

1. __LINE__

它返回使用此常量的文件的当前行号。

例:

输出:

Example for __LINE__

You are at line number 4

2. __FILE__:

该魔术常数返回执行文件的完整路径,该文件存储在该路径中。如果在包含中使用它,则返回包含文件的名称。

例:

输出:

Example for __FILE__

D:xampphtdocsprogrammagic.php

3. __DIR__:

它返回执行文件的完整目录路径。此魔术常数返回的路径等效于dirname(__FILE__)。除非它是根目录,否则此魔术常数不带斜杠。

例:

输出:

Example for __DIR__

D:xampphtdocsprogram D:xampphtdocsprogram

调取文件路径

require_once中调取文件路径时,可以使用../退到上级目录,示例如下

4. __FUNCTION__:

该魔术常数返回使用该常数的函数名称。如果在任何函数之外使用它,它将返回空白。

例:

输出:

Example for __FUNCTION__

The function name is test Hie

5. __CLASS__:

它返回使用该魔术常数的类名。__CLASS__常量也可用于特征。

例:

输出:

Example for __CLASS__

JTP base

6 .__ TRAIT__:

这个魔术常数返回使用它的特征名称。

例:

输出:

Example for __TRAIT__

created_trait

7 .__METHOD__:

它返回包含此魔术常数的类方法的名称。返回的方法名称与声明的名称相同。

例:

输出:

Example for __METHOD__

method:: construct method:: meth_fun

8. __NAMESPACE__:

它返回使用它的当前名称空间。

例:

输出:

Example for __NAMESPACE__

This line will print on calling namespace.

9. ClassName :: class:

此魔术常数不会以双下划线(__)开头和结尾。它返回ClassName的完全限定名称。在PHP5.5.0中添加了ClassName::class。这对命名空间类很有用。

例:

输出:

Example for ClassName::class

Technical_Portaljavatpoint

注意:请记住,命名空间必须是脚本中的第一个语句或在任何声明调用之后,否则它将产生致命错误。

类别:PHP 技巧

本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。

评论 (0)COMMENT

登录 账号发表你的看法,还没有账号?立即免费 注册