PHP - 类/对象 get_declared_interfaces() 函数



PHP 类/对象 **get_declared_interfaces()** 函数用于返回一个数组,其中列出了程序中创建的所有接口的名称。此函数对于调试和动态类处理非常有用。

语法

以下是 PHP 类/对象 **get_declared_interfaces()** 函数的语法:

array get_declared_interfaces()

参数

此 **get_declared_interfaces()** 函数没有参数。

返回值

此函数返回当前脚本中已声明接口的名称数组。

PHP 版本

**get_declared_interfaces()** 函数首次引入于 PHP 5 核心版本中,在 PHP 7 和 PHP 8 中也能轻松使用。

示例 1

在下面的示例中,我们使用 PHP 类/对象 **get_declared_interfaces()** 函数来获取内置接口的数组。

<?php
   print_r(get_declared_interfaces());
?> 

输出

以下是上述代码的输出:

Array ( 
   [0] => Traversable
   [1] => IteratorAggregate
   [2] => Iterator
   [3] => ArrayAccess
   [4] => reflector
   [5] => RecursiveIterator
   [6] => SeekableIterator
)

示例 2

在此示例中,我们将创建一个接口,然后使用 **get_declared_interfaces()** 函数获取所有已声明接口的列表。

<?php
   // Create interface here
   interface MyInterface {}

   // Get interfaces details
   $interfaces = get_declared_interfaces();

   // Display the result
   print_r($interfaces);
?>

输出

以下是以下代码的结果:

Array
(
   [0] => Traversable
   [1] => IteratorAggregate
   [2] => Iterator
   [3] => Serializable
   [4] => ArrayAccess
   [5] => Countable
   [6] => Stringable
   [7] => Throwable
   [8] => UnitEnum
   [9] => BackedEnum
   . 
   . 
   .
   [27] => Ds\Sequence
   [28] => MyInterface
)

示例 3

在下面的 PHP 代码中,我们将声明多个接口,然后使用 **get_declared_interfaces()** 函数查看它如何处理所有接口。

<?php
   // Create interfaces here
   interface FirstInterface {}
   interface SecondInterface {}
   
   // Get details of interfaces
   $interfaces = get_declared_interfaces();
   
   // Display the result
   print_r($interfaces);
?> 

输出

这将生成以下输出:

Array
(
   [0] => Traversable
   [1] => IteratorAggregate
   [2] => Iterator
   [3] => Serializable
   [4] => ArrayAccess
   [5] => Countable
   [6] => Stringable
   [7] => Throwable
   [8] => UnitEnum
   [9] => BackedEnum
   . 
   . 
   .
   [27] => Ds\Sequence
   [28] => FirstInterface
   [29] => SecondInterface
)

示例 4

此示例表明,即使类实现了接口,**get_declared_interfaces()** 也会成功列出该接口。

<?php
   // Create interfaces here
   interface MyInterface {}
   
   // Create a class and implement the interface
   class MyClass implements MyInterface {}
   
   // Get details of interfaces
   $interfaces = get_declared_interfaces();
   
   // Display the result
   print_r($interfaces);
?> 

输出

这将创建以下输出:

Array
(
   [0] => Traversable
   [1] => IteratorAggregate
   [2] => Iterator
   [3] => Serializable
   [4] => ArrayAccess
   [5] => Countable
   [6] => Stringable
   [7] => Throwable
   [8] => UnitEnum
   [9] => BackedEnum
   . 
   . 
   .
   [27] => Ds\Sequence
   [28] => MyInterface
)
php_function_reference.htm
广告