在 PHP 中获取类名

您所在的位置:网站首页 phpclass 在 PHP 中获取类名

在 PHP 中获取类名

2023-09-14 00:39| 来源: 网络整理| 查看: 265

在 PHP 中使用类名解析来获取类名 在 PHP 中使用 __CLASS__ 常量获取类名 在 PHP 中使用 get_class() 函数获取类名 PHP 中使用反射类获取类名 在 PHP 中在对象上使用 ::class 获取类名

本教程将讨论如何通过类名解析、PHP __CLASS__ 常量和 get_class() 方法获取 PHP 类名。你将了解其在类内外的类名解析中的用法。

广告中的夸张手法

Please enable JavaScript

广告中的夸张手法 在 PHP 中使用类名解析来获取类名

当你的代码中有命名空间时,你可以通过类名解析获得类名。结果是一个完全合格的类名 (FQCN)。

此功能在 PHP 中以 ClassName::class 的形式提供。当你的 PHP 中有命名空间时,它很有用。

在下面的代码示例中,通过 ClassName::class 的类名解析将返回关联类的类名:

输出:

YourNameSpace\HelloClassName

如果你想在类方法中使用这个特性,你可以通过静态方法获取类名。你将把它写成 static::class。

下一个代码示例展示了如何在类方法中获取类名。

输出:

YourNameSpace\HelloClassName 在 PHP 中使用 __CLASS__ 常量获取类名

__CLASS__ 常量是 PHP 预定义常量的一部分。你可以在类中使用它来获取类名。

以下代码将通过 __CLASS__ 常量获取类名。

输出:

Hello 在 PHP 中使用 get_class() 函数获取类名

PHP 提供了一个 get_class() 函数。该函数将返回类名。你可以在过程和面向对象的编程中使用它。首先,我们来看看程序风格。

下一个代码块定义了一个具有单个函数的类。当参数是 this 关键字时,类中的函数将返回类名。

要获取类名,请从类中创建一个对象;然后,将对象的名称传递给 get_class()。

输出:

The class name is: Hello

首先,对于 OOP 风格,你可以从静态类返回 get_class() 函数。

输出:

Hello

此方法有其局限性,因为当你扩展类时,扩展类将返回父类的名称,而不是扩展类。为了解决这个问题,你可以使用 get_call_class()。

get_call class() 函数依赖于 Late Static Binding。使用此函数,PHP 将返回调用类的名称。它解决了扩展类返回其父类的名称而不是自己的名称的情况。

输出:

Hello class name: Hello Extended Hello class name: ExtendHello Extended Hello parent class name: Hello PHP 中使用反射类获取类名

反射类是在 PHP 中获取类名的简洁方法。你创建一个类;在这个类中,创建一个返回新反射类的函数。

Reflection 类的参数应该设置为 $this。之后,你可以通过反射类可用的 getShortName() 方法获取类名。

输出:

Hello 在 PHP 中在对象上使用 ::class 获取类名

::class 功能适用于 PHP 8 之前的类。从 PHP 开始,当你从类创建对象时,你可以使用 ::class 从创建的对象中获取类名。

你将在以下代码块中找到一个示例。

输出:

YourNameSpace\HelloClassName


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3