首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP中的反射

PHP中的反射

作者头像
Enjoy233
发布2019-03-05 14:46:38
1K0
发布2019-03-05 14:46:38
举报

PHP中的反射

PHP5 具有完整的反射 API,添加了对类、接口、函数、方法和扩展进行反向工程的能力。 此外,反射 API 提供了方法来取出函数、类和方法中的文档注释。 请注意部分内部 API 丢失了反射扩展工作所需的代码。 例如,一个内置的 PHP 类可能丢失了反射属性的数据。这些少数的情况被认为是错误,不过, 正因为如此,它们应该被发现和修复。

<?php
/**
* Created by PhpStorm.
* User: bravo
* Date: 2016/6/30
* Time: 14:11
*/

namespace ex11;
/*
* @package oop1
* @property ex10\person
* @auther bravo
*/
class person
{
    public $name;
    public $gender;

    public function say()
    {
        echo $this->name," is ", $this->gender;
    }

    public function __set($name, $value)
    {
        echo "setting $name to $value\n";
        echo $this->name=$value;
    }
    public function __get($name)
    {
        if(!isset($name))
        {
            echo "未设置";
            $this->name="正在设置";
        }

        return $this->name;
    }

}
$stu=new person();
$stu->name='Lucy';
$stu->gender='female';
$stu->say();
echo "\n";

$reflect=new \ReflectionObject($stu);
$props = $reflect->getProperties();
echo "properties of stu are:\n";
foreach($props as $prop)
{
    print $prop->getName()."\n";
}
$methods = $reflect->getMethods();
echo "properties of stu are:\n";
foreach($methods as $method)
{
    print $method->getName()."\n";
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年09月14日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档