四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

PHP反射類ReflectionClass和ReflectionObject的使用方法

php中的擴(kuò)展反射類,該擴(kuò)展用來分析php程序,導(dǎo)出或提取出關(guān)于類、方法、屬性、參數(shù)等的詳細(xì)信息,包括注釋。
看一個(gè)這樣的問題,php類的成員變量沒有在類中聲明,而是在函數(shù)中聲明,有什么不同?
復(fù)制代碼 代碼如下:
class test{
    private $name;
    private $sex;
    function __construct(){
        $this->aaa='aaa';
    }
}

$test=new test();

$reflect=new ReflectionClass($test);
$pro=$reflect->getDefaultProperties();
print_r($pro);//打印結(jié)果:Array ( [name] => [sex] => )

echo $test->aaa;//打印結(jié)果:aaa

在這個(gè)test類中,聲明了兩個(gè)成員變量$name和$sex,但是在構(gòu)造函數(shù)中,又聲明了一個(gè)變量$aaa,初始化類,使用反射類打印默認(rèn)成員屬性只有聲明的兩個(gè)成員變量屬性,但是打印類的$aaa變量發(fā)現(xiàn)還是可以輸出結(jié)果。
請(qǐng)問類的成員變量不用聲明,在函數(shù)中聲明也是可以的嗎,有什么區(qū)別?
在你這個(gè)例子中,使用ReflectionClass是不恰當(dāng)?shù)模驗(yàn)開_construct只有在實(shí)例化class時(shí),才會(huì)執(zhí)行。
也就是說ReflectionClass更多的是反射類聲明時(shí)的結(jié)構(gòu),而不是類實(shí)例化后的結(jié)構(gòu),所以沒有輸出屬性aaa是正確,因?yàn)閷傩詀aa確實(shí)是(在類聲明時(shí))不存在的。
那么怎么看屬性aaa呢,應(yīng)該用ReflectionObject反射實(shí)例化后的結(jié)構(gòu),例如
復(fù)制代碼 代碼如下:
<?php
class test{
    private $name;
    private $sex;
    function __construct(){
        $this->aaa='aaa';
    }
}
$test=new test();

$reflect=new ReflectionObject($test);
$pro=$reflect->getProperties();
print_r($pro);
 
經(jīng)過實(shí)例化以后,屬性aaa才會(huì)存在,這時(shí)你就能看到屬性aaa了
因?yàn)?a href=/itjie/phpjishu/ target=_blank class=infotextkey>php是“動(dòng)態(tài)”語(yǔ)言,所以可以類的成員變量不用聲明,在函數(shù)中聲明也是可以的。

php技術(shù)PHP反射類ReflectionClass和ReflectionObject的使用方法,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 狼来了电影免费观看| cctv16直播| 康熙微服第二部免费版第24集| 小姐与流氓| stylistic device| 极品美女在线| mhdd| 好戏一出| 口舌| 女生摸女生的胸| 低糖食物一览表| 《韩国小姐》| 南来北往电视剧剧情| 项目负责人任命书| 麻豆视频网站免费观看| 拼音表| 珍珠少女| 场景歌评课| 屁屁视频| 蝴蝶视频在线观看| 人世间演员表| 同志父子第二部叫什么| 一个蛋挞的热量| 欧美大片在线视频| 欲海情缘| 盲道电影| 欧美一级毛片免费视频| 黑暗之心电影完整在线观看| 绿野仙踪电影| 皮皮虾影视| 卡通频道| 电影《斯宾塞》| 韩宇辰| 我在等你回家剧情介绍| 罗斯福游戏| 抖音在线官网| 安多卫视直播在线观看| 哥谭演员表| 赖小子在线观看完整视频高清| 第一财经直播电视直播 现场直播| 小丑回魂|