首页 > 编程 > PHP > 正文

PHP通过反射来得到类以及一些基本的应用

2020-03-22 20:10:29
字体:
来源:转载
供稿:网友
这篇文章主要介绍了关于PHP通过反射来得到类以及一些基本的应用,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

这几天在看laravel框架的核心代码。发现大量的使用了反射机制。下面就来简单看看一些反射的应用

html' target='_blank'>class A private $_foo = this is a  public function index() return $this- _foo; private function _come($param) return this is come .$param;$refClass = new ReflectionClass( A //获得反射

下面我们来通过这个反射来得到A的私有属性

$privateParams = $refClass- getDefaultProperties();print_r($privateParams);//得到结果 Array ( [_foo] = this is a )echo $privateParams[ _foo //得到 this is a

这样我们就可以很轻松的获得A的私有属性了。那么执行私有方法应该怎么操作呢。接下来我们先看执行共有方法,执行公有方法比较简单。

/****************获得类的实例*******************/$class = $refClass- newInstance();echo $class- index();

这样就可以调用公有的方法了。下面看执行私有方法

/****************获取A的方法*******************/$refHasClass = $refClass- getMethods();print_r($refHasClass); * Array ( [0] = ReflectionMethod Object ( [name] = index [class] = A ) * [1] = ReflectionMethod Object ( [name] = _come [class] = A ) )$come = $refClass- getMethod( _come $come- setAccessible(true);echo $come- invoke($class, this is param // this is athis is comethis is param

先通过getMethod()就可以获取到come方法,然后设置come方法的可访问性。最后通过invoke执行该方法

反射还有很多可用的方法,这里就不一一说了。有兴趣的可以看看官方文档

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP !

相关推荐:

php7+的php-fpm参数配置的注意事项

以上就是PHP通过反射来得到类以及一些基本的应用的详细内容,PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表