首页  >  文章  >  后端开发  >  PHP 魔法常量

PHP 魔法常量

WBOY
WBOY原创
2024-08-29 13:01:35870浏览

在 PHP 魔法常量中,共有八个常量,它们根据使用位置而改变其依赖关系。所有这些神奇的常量都是在编译时解析的,与我们通常在运行时解析的常规常量不同。这些神奇的常量不区分大小写。这些常量是预定义常量,以双下划线 (__) 开头,也以双下划线结尾。这些常量是PHP中最实用、最有用的常量。它们是简单的变量,但具有预定义的含义。这些常量用于打印用户定义的输入并处理输出以显示在屏幕上。

广告 该类别中的热门课程 魔法子弹造型 - 专业化 | 2门课程系列

开始您的免费软件开发课程

网络开发、编程语言、软件测试及其他

PHP 中的魔法常量类型

PHP 中总共有以下八个魔法常量:

  • __LINE__: 此常量用于打印输出屏幕上使用的代码的行号。它代表当前行号。
  • __FILE__: 该常量用于在输出屏幕上打印文件的完整文件路径和文件名。
  • __DIR__: 此常量用于在输出屏幕上打印特定文件的完整目录路径。它还有另一种等效方法来打印文件的目录路径:dirname (__FILE__)。
  • __FUNCTION__:此常量将在输出屏幕上打印当前正在使用的函数名称。如果在函数内部使用,则会打印函数名,如果在函数外部使用,则会返回空白。
  • __CLASS__:此常量用于打印输出屏幕上使用的类名称。如果在类内部使用,则会打印类名,如果在函数外部使用,则会返回空白。
  • __TRAIT__: 此常量在使用特征名称的地方使用。如果在函数内部使用,则会打印名称,如果在函数外部使用,则会返回空白。该特征用于在输出屏幕上打印名称空间。
  • __METHOD__:此常量用于打印在输出屏幕上使用的类中定义的方法的名称。它返回代码中声明的方法的名称。如果在方法或类内部使用,则返回方法的名称,如果在函数外部使用,则返回空白。
  • __NAMESPACE__:此常量用于在输出屏幕上打印当前命名空间的名称。

魔法常量在 PHP 中如何工作?

以下是 PHP 中魔法常量如何工作的示例:

在 PHP 中,我们可以在非常简单的代码中使用魔术常量,也可以在日常使用的太难的代码中使用魔术常量。让我们举个例子来看看它是如何工作的:

示例#1

代码:

<!DOCTYPE html>
<html>
<body>
<?php
echo "<h1>Example for __LINE__ constant</h1>";
echo "The line number is " . __LINE__ . "<br><br>";// prints the current line number i.e;7
?>
</body>
</html>

输出:

PHP 魔法常量

示例#2

代码:

<!DOCTYPE html>
<html>
<body>
<?php
echo "<h2>Example for __FILE__ constant</h2>";
echo __FILE__ . "<br><br>";//prints the full path of the file with extension
?>
</body>
</html>

输出:

PHP 魔法常量

示例 #3

代码:

<!DOCTYPE html>
<html>
<body>
<?php
echo "<h3>Example for __DIR__ constant</h3>";
echo __DIR__ . "<br><br>";//prints the full path of the directory where the script is placed.
?>
</body>
</html>

输出:

PHP 魔法常量

示例#4

代码:

<!DOCTYPE html>
<html>
<body>
<?php
function amount()
{
echo 'the function name is '. __FUNCTION__ . "<br><br>";//the function name is amount.
}
amount();
?>
</body>
</html>

输出:

PHP 魔法常量

示例#5

代码:

<!DOCTYPE html>
<html>
<body>
<?php
//Using magic constant inside function.
function amount()
{
echo 'the function name is '. __FUNCTION__ . "<br><br>";//the function name is amount.
}
amount();
echo 'the function name is '. __FUNCTION__ ."<br><br>";
?>
</body>
</html>

输出:

PHP 魔法常量

示例 #6

代码:

<!DOCTYPE html>
<html>
<body>
<?php
echo "<h2>Example for __CLASS__</h2>";
class xyz
{
public function __construct() {
;
}
function xyz_method()
{
echo __CLASS__ . "<br>";//prints the name of the class xyz mentioned above.
}
}
$a = new xyz;
$a->xyz_method();
?>
</body>
</html>

输出:

PHP 魔法常量

示例#7

代码:

<!DOCTYPE html>
<html>
<body>
<?php
class abc
{
function test_abc()
{
echo __CLASS__;//will always print parent class which is abc mentioned above.
}
}
class xyz extends abc
{
public function __vowels()
{
;
}
}
$b = new xyz;
$b->test_abc();
?>
</body>
</html>

输出:

PHP 魔法常量

示例#8

代码:

<!DOCTYPE html>
<html>
<body>
<?php
echo "<h4>Example for __TRAIT__</h4>";
trait create_trait
{
function trait()
{
echo __TRAIT__;//will print name of the trait create_trait mentioned above.
}
}
class new_class
{
use create_trait;
}
$c = new new_class;
$c-> trait ();
?>
</body>
</html>

输出:

PHP 魔法常量

示例 #9

代码:

<!DOCTYPE html>
<html>
<body>
<?php
echo "<h2>Example for __METHOD__</h2>";
class method
{
public function __parameter() {
echo __METHOD__ . "<br><br>";//print method::__parameter
}
public function method_fun(){
echo __METHOD__;//print meth::method_fun
}
}
$z = new method;
$z->method_fun();
?>
</body>
</html>

输出:

PHP 魔法常量

各个函数的输出如上所述。行常量将打印存储在本地主机中的文件 leela.php 的当前行。文件常量将打印文件名和路径,如输出所示。 dir 常量或 dirname 将打印当前目录路径或提到的目录路径:method 和 class 常量打印代码中提到的方法名称和类名称。如果在方法和类之外提到常量,那么它不会在屏幕上打印任何内容,因为它超出了范围,同样,上面提到了另一个常量的输出。

结论

在这篇文章中,我们学习了 PHP 的所有魔法常量及其用法。它可以用于小型程序到大型程序。开发者可以使用这些常量来回溯任何可能发生错误的位置。这些常量将帮助开发人员或用户检查代码当前所在的位置。

以上是PHP 魔法常量的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
上一篇:PHP Constants下一篇:PHP Regular Expressions