获取PHP类的所有属性和所有方法,可通过反射机制
2024-10-08 06:40:54
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<?php class Class1{ public $var1 = 'var1' ; public $var2 = 'var2' ; private $var3 = 'var3' ; public function method1(){} public function method2(){} private function method3(){} } print_r(get_class_methods(Class1)); print_r(get_class_vars(Class1)); //用反射类可以获得私有属性和私有方法 $ref = new ReflectionClass(Class1);//Class1 可以为对象实例 $class = new Class(); print_r( $ref ->getMethods()); print_r( $ref ->getProperties()); |
输出
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
Array ( [0] => method1 [1] => method2 ) Array ( [var1] => var1 [var2] => var2 ) Array ( [0] => ReflectionMethod Object ( [name] => method1 [ class ] => Class1 ) [1] => ReflectionMethod Object ( [name] => method2 [ class ] => Class1 ) [2] => ReflectionMethod Object ( [name] => method3 [ class ] => Class1 ) ) Array ( [0] => ReflectionProperty Object ( [name] => var1 [ class ] => Class1 ) [1] => ReflectionProperty Object ( [name] => var2 [ class ] => Class1 ) [2] => ReflectionProperty Object ( [name] => var3 [ class ] => Class1 ) ) |
最新文章
- php每天一题:strlen()与mb_strlen()的作用分别是什么
- MVC MODEL Attribute 操纵速记
- 手机APP测试的几大点
- MVC - 学习总目录
- VMware下LINUX的虚拟机增加磁盘空间
- euqals和hashcode
- HTML5 canvas中的转换方法
- 1. Server.Transfer跳转页面抛出异常:正在终止线程
- HashMap陷入死循环的例子
- iOS 首次启动画面,新装或更新用户可以通过它查看简介。
- 算法学习:Pac-Man的简单对抗
- Linux中安装opencv-3.3.1
- Swift基础之Swift调用OC语言文件使用步骤
- VB.net中合并word中的表格
- 浅谈js之闭包
- python学习之基础语法
- yum 安装 Mysql 5.7,忘记密码解决方案
- node.js 在使用child_process 模块时候,调试端口占用的问题解决方案(EADDRINUSE)
- 完美融合 nextjs 和 antd
- I/O会一直占用CPU吗?【转载】
热门文章
- python基础[18]——使用django创建一个简易的博客网站
- DOCKER学习_001:Docker简介
- 20191024-3 互评Alpha阶段作品——胜利点组
- React实现座位排布组件
- html 鼠标指针讲解
- must appear in the GROUP BY clause or be used in an aggregate function
- Java小白集合源码的学习系列:ArrayList
- python基础操作以及变量运用
- 每天玩转3分钟 MyBatis-Plus - 2. 普通查询
- day6 云道页面 知识点梳理(1)