PHP类的反射用法实例,php用法实例
本文实例讲述了PHP类的反射用法。分享给大家供大家参考。具体实现方法如下:
该例实现对于每个频道获取相应的类来执行相应的操作。具体如下:
NetPb(Net Party branch)中文名称:网上党支部系统,是一款专门用于党员在线交流、信息管的内容系统,系统采用PHP+Mysql环境架构,基于国内著名开源系统Dedecms二次开发,整套系统在界面、程序部分修改,目的是为了更适合党员在线管理和交流. 进去/admin/login.php,默认用户名和密码为admin登录后进行相关设置,实用方法类似Dedecms
$className = $this->chsMap[$ch];
if($className) { // 如果是合法的类名
// 获取反射类
$class = new ReflectionClass($className);
// 获取类的方法
$recd = $class->getmethod('exeRecd');
// 生成类的实例
$instance = $class->newInstance($this->qq, $this->ip);
// 执行方法
$result[$ch] = $recd->invoke($instance);
}
}
希望本文所述对大家的PHP程序设计有所帮助。
得到一个对象的类型,使用gettype()函数:
得到一个对象是哪个类的实例,使用get_class()函数:
得到一个类或对象的方法和属性,要使用反射:
getProperties(); // 会返回一组对象,用法参考PHP手册$ref->getMethods(); // 会返回一组对象,用法参考PHP手册$obj = new MyClass();$ref = new ReflectionObject($obj);$ref->getProperties();$ref->getMethods();
class myclass
{
function showerror($msg)
{
$msg=trim($msg);
echo "<script language="javascript">alert('$msg');";<br> echo "history.back();</script>";
exit;
}
}
?>
这是我写的一个出错提示并返回历史页面的类.用类的好处就是节省重复写代码的时间,也为编程的二次开发省了不少时间.
使用类之前先要创建类的实例
$lei=new myclass();这样就实例化了
然后用
$lei->showerror($mess);这样就可以调用类中的函数和成员变量了










