第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

property_exists() 檢查類方法中是否存在靜態(tài)屬性

property_exists() 檢查類方法中是否存在靜態(tài)屬性

PHP
呼喚遠(yuǎn)方 2023-08-06 15:34:31
我有一個(gè)具有靜態(tài)屬性和方法的類。我的方法之一是動(dòng)態(tài)屬性抓取器。我想動(dòng)態(tài)地執(zhí)行此操作,以防止為我想要返回的每個(gè)屬性提供一個(gè)方法。單一方法會(huì)更好。我的問(wèn)題是該方法返回“未定義的屬性”。我在互聯(lián)網(wǎng)上嘗試了各種解決方案,但似乎沒(méi)有一個(gè)適合或有效。類示例:class Generic{    public static $propA = "A";    private static $propB = "B";    protected static $propC = "C";    public static function getProperty(string $property): string    {        if (!property_exists('Generic', $property)) :            return "Undefined Property";        endif;        return self::$$property;    }}用法:print_r(Generic::getProperty('propA'));這將返回,就好像該屬性不存在一樣。事實(shí)上,可見(jiàn)性并不重要,因?yàn)樗鼈兌紩?huì)返回,就好像它們不存在一樣。此外,我知道這在不使用靜態(tài)變量時(shí)有效。我寧愿繼續(xù)使用靜態(tài)變量。
查看完整描述

1 回答

?
BIG陽(yáng)

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊

從上面更新我的代碼以包含命名空間。這是導(dǎo)致該方法返回未定義的問(wèn)題。


更新后的代碼如下:


class Generic

{

    public static $propA = "A";

    private static $propB = "B";

    protected static $propC = "C";


    public static function getProperty(string $property): string

    {

        if (!property_exists('JLDN\Generic', $property)) :

            return "Undefined Property";

        endif;


        return self::$$property;

    }

}


foreach (['propA', 'propB', 'propC', 'nonProperty'] as $prop) :

    printf("<p>Property: %s::%s - %s</p>\n", 'Generic', $prop, print_r(Generic::getProperty($prop), true));

endforeach;

輸出:


Property: Generic::propA - A


Property: Generic::propB - B


Property: Generic::propC - C


Property: Generic::nonProp - Undefined Property


查看完整回答
反對(duì) 回復(fù) 2023-08-06
  • 1 回答
  • 0 關(guān)注
  • 127 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)