博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php 反射
阅读量:5103 次
发布时间:2019-06-13

本文共 1054 字,大约阅读时间需要 3 分钟。

一、通过{属性名} 对对象赋值。

       $book=new Book();
       $propertyName="name";
       $propertyValue="书本名称";  
       
$book->{$propertyName}=$propertyValue;
 
二、 类的反射使用
     
 参考代码:
         
class Man{    public  $name;    protected  $age;    private  $address;    public  function  Say($msg)    {        echo  "Say:".$msg;    }}//反射 实例化类$class=new ReflectionClass('Man');//获取当前类属性// 默认获取全部属性// 仅获取私有属性  $class->getProperties( ReflectionProperty::IS_PRIVATE)/* ReflectionProperty::IS_STATIC ReflectionProperty::IS_PUBLIC ReflectionProperty::IS_PROTECTED ReflectionProperty::IS_PRIVATE * */foreach( $class->getProperties() as $pro){    echo "属性名称:". $pro->getName() ."
";}foreach( $class->getMethods() as $method){ echo "方法名称:". $method->getName()."
";}// 判断方法是否为公开$method = new ReflectionMethod('Man', 'Say');print_r($method->isPublic());//判断类中是否包括该方法$man=new Man();if( method_exists($man,"Say")){ echo "Man 存在 Say 方法";}else{ echo "Man 不存在 Say 方法";}//反射调用$reflectionMethod = new ReflectionMethod('Man', 'Say');$reflectionMethod->invoke($man,"被调用了。");

 

       

转载于:https://www.cnblogs.com/rhythmK/p/4704778.html

你可能感兴趣的文章
(转)Android之发送短信的两种方式
查看>>
python第九天课程:遇到了金角大王
查看>>
字符串处理
查看>>
HtmlUnitDriver 网页内容动态抓取
查看>>
ad logon hour
查看>>
获得进程可执行文件的路径: GetModuleFileNameEx, GetProcessImageFileName, QueryFullProcessImageName...
查看>>
证件照(1寸2寸)拍摄处理知识汇总
查看>>
罗马数字与阿拉伯数字转换
查看>>
Eclipse 反编译之 JadClipse
查看>>
Python入门-函数
查看>>
[HDU5727]Necklace(二分图最大匹配,枚举)
查看>>
距离公式汇总以及Python实现
查看>>
设计模式之装饰者模式
查看>>
一道不知道哪里来的容斥题
查看>>
Blender Python UV 学习
查看>>
window添加右键菜单
查看>>
入手腾龙SP AF90mm MACRO
查看>>
python学习4 常用内置模块
查看>>
Window7上搭建symfony开发环境(PEAR)
查看>>
ResolveUrl的用法
查看>>