天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

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

php中的擴展反射類,該擴展用來分析php程序,導(dǎo)出或提取出關(guān)于類、方法、屬性、參數(shù)等的詳細信息,包括注釋。
看一個這樣的問題,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

在這個test類中,聲明了兩個成員變量$name和$sex,但是在構(gòu)造函數(shù)中,又聲明了一個變量$aaa,初始化類,使用反射類打印默認成員屬性只有聲明的兩個成員變量屬性,但是打印類的$aaa變量發(fā)現(xiàn)還是可以輸出結(jié)果。
請問類的成員變量不用聲明,在函數(shù)中聲明也是可以的嗎,有什么區(qū)別?
在你這個例子中,使用ReflectionClass是不恰當?shù)模驗開_construct只有在實例化class時,才會執(zhí)行。
也就是說ReflectionClass更多的是反射類聲明時的結(jié)構(gòu),而不是類實例化后的結(jié)構(gòu),所以沒有輸出屬性aaa是正確,因為屬性aaa確實是(在類聲明時)不存在的。
那么怎么看屬性aaa呢,應(yīng)該用ReflectionObject反射實例化后的結(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)過實例化以后,屬性aaa才會存在,這時你就能看到屬性aaa了
因為php是“動態(tài)”語言,所以可以類的成員變量不用聲明,在函數(shù)中聲明也是可以的。

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

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

主站蜘蛛池模板: 国产69精品久久久久麻豆 | 亚洲成人精品久久 | 999久久免费高清热精品 | 香蕉97超级碰碰碰碰碰久 | 天天澡夜夜澡人人澡 | 芒果影院网站在线观看 | 黑色丝袜美女被网站 | 国产毛片A级久久久不卡精品 | 国产欧美亚洲综合第一页 | 亚洲网站视频在线观看 | 天天躁躁水汪汪人碰人 | 蜜臀AV浪潮99国产麻豆 | 色欲久久99精品久久久久久AV | 麻豆官网md.pub | 国产性色AV内射白浆肛交后入 | 亚洲国产在线视频中文字 | 日本电影小姐 | 国产精品久久久久久久久99热 | 亚洲国产精品一区二区久久第 | 亚洲欧美自拍清纯中文字幕 | 5G在线观看免费年龄确认18 | 晚夜免费禁用十大亏亏 | 口内射精颜射极品合集 | 亲伦在线观看 | 中文字幕在线视频观看 | 欧美一区二区在线观看 | 猫咪www958ii | 51vv视频社区 | 国产精品视频一区二区猎奇 | 伊人亚洲AV久久无码精品 | 精选国产AV精选一区二区三区 | 日韩AV成人无码久久精品老人 | 精品久久久久久电影网 | 国产午夜亚洲精品理论片八戒 | 国产AV精品无码免费看 | 午夜色情影院色a国产 | 97国产精品久久精品国产 | 国产一浮力影院 | 人人澡人人擦人人免费 | 暖暖直播免费观看韩国 | 成人伊人青草久久综合网 |