PHP 使用 get_class_methods() 函数获取类方法列表

阿澈
阿澈
发布时间:2026-10-13| 5人浏览过
原创

在 PHP 开发中,了解一个类包含哪些方法是调试和文档生成的重要环节。本文将演示如何使用 get_class_methods() 函数动态获取类的方法列表,并通过完整的代码示例展示其运行结果与应用场景。

实现目标与准备

我们需要创建一个简单的 PHP 类,模拟实际业务中的对象结构,并使用内置函数提取其拥有的所有方法名。该方法常用于框架的路由发现、ORM 映射或自动化测试中。

第一步:定义示例类 Window

首先,创建一个名为 Window 的类,包含状态属性及开关方法。

<?php
class Window {
 var $state; 

 function close_window() {
   $this->state="close";
 }
 
 function open_window() {
   $this->state="open";
 }
}

第二步:调用 get_class_methods() 获取方法

使用函数参数传入类名字符串(非实例),返回该类所有方法的索引数组。

<?php
// 定义类后执行
$temp = get_class_methods("Window");
echo "类Window中的方法有以下几个:
"; for($i=0; $i<count($temp); $i++) { echo $temp[$i]."
"; } ?>

结果验证

上述代码运行后,浏览器将输出:

类Window中的方法有以下几个:
close_window
open_window

注意:在 PHP 7.1+ 版本中,如果类方法使用了访问修饰符(如 public/private/protected),get_class_methods() 默认仅返回 public 方法。若要获取全部方法,可结合 ReflectionClass 使用。

常见问题排查

  • 空数组返回:请确认类文件已正确引入(include/require)。
  • 缺少私有方法:如需包括 private 和 protected 方法,应改用以下反射写法:
$rc = new ReflectionClass('Window');
$methods = $rc->getMethods();
foreach ($methods as $method) {
 echo $method->getName() . "
"; }

以上就是 PHP 使用 get_class_methods() 函数获取类方法的详细内容,更多关于 PHP 面向对象程序设计入门教程的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。