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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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

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

PHP
呼喚遠(yuǎn)方 2023-08-06 15:34:31
我有一個具有靜態(tài)屬性和方法的類。我的方法之一是動態(tài)屬性抓取器。我想動態(tài)地執(zhí)行此操作,以防止為我想要返回的每個屬性提供一個方法。單一方法會更好。我的問題是該方法返回“未定義的屬性”。我在互聯(lián)網(wǎng)上嘗試了各種解決方案,但似乎沒有一個適合或有效。類示例: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'));這將返回,就好像該屬性不存在一樣。事實上,可見性并不重要,因為它們都會返回,就好像它們不存在一樣。此外,我知道這在不使用靜態(tài)變量時有效。我寧愿繼續(xù)使用靜態(tài)變量。
查看完整描述

1 回答

?
BIG陽

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

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


更新后的代碼如下:


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


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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