免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
PHP反射類ReflectionClass和ReflectionObject的使用方法
PHP中的擴(kuò)展反射類,該擴(kuò)展用來分析php程序,導(dǎo)出或提取出關(guān)于類、方法、屬性、參數(shù)等的詳細(xì)信息,包括注釋。
看一個(gè)這樣的問題,php類的成員變量沒有在類中聲明,而是在函數(shù)中聲明,有什么不同?

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),例如

<?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)閜hp是“動(dòng)態(tài)”語言,所以可以類的成員變量不用聲明,在函數(shù)中聲明也是可以的。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
php反射類 ReflectionClass
PHP中的static
面試必備include和require的區(qū)別
php 接口(implement,implements)的學(xué)習(xí)和使用
PHP大小寫問題:函數(shù)名和類名不區(qū)分,變量名區(qū)分
php引用(&)詳解及注意事項(xiàng)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服