php 反射的用法,用来获取源码未知的类具有的方法
参考: https://www.cnblogs.com/fps2tao/p/10393755.html
1. 用途1,获取源代码未知的类的方法: 如class Redis 有哪些方法?
1 2 3 4 5 6 7 8 9 10 11 | <?php $redis = new Redis(); $redis ->connect( '127.0.0.1' , 6379); echo $redis ->ping(); $redis ->set( 'fly' , 'zzzzz' ); echo $redis ->get( 'fly' ); $reflection = new ReflectionClass( 'Redis' ); $m = $reflection ->getMethods(); var_dump( $m ); |
2. 用途2, 获取方法的可选参数,及其默认值。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?php class A { public function say( $name , $age = 12) { } } $a = new A(); $reflectionObj = new \ReflectionMethod( $a , 'say' ); $params = $reflectionObj ->getParameters(); foreach ( $params as $p ) { if ( $p ->isOptional()) { // 或使用isDefaultValueAvailable, 检测是否有可用的默认值 $paramVal = $p ->getDefaultValue(); var_dump( $p ->getName()); var_dump( $paramVal ); } } |
上面的$age 就是optional参数(可选参数,非必填参数), 其默认值为12.
——————————————————————————————————————
标签:
php
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
2019-01-07 mongoose系列——几行代码实现CRUD
2016-01-07 配置 php-fpm 监听的socket