PHP တွင် အိမ်ခြံမြေ 0 န်ကြီးချုပ် function ကိုအရာဝတ်ထုတစ်ခုတွင်ပိုင်ဆိုင်မှုရှိပါသလားစစ်ဆေးရန်အသုံးပြုသည်။ အထူးသဖြင့်အရာဝတ်ထု၏ဂုဏ်သတ္တိများရှိမရှိအထူးသဖြင့်ကျွန်ုပ်တို့လုပ်ဆောင်ရန်လိုအပ်သည့်အခါ၎င်းသည်အလွန်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်မှုကိုအသုံးပြုခြင်းသည်မတည်ရှိသောပိုင်ဆိုင်မှုများကိုတိုက်ရိုက်ဝင်ရောက်ခွင့်ကိုရှောင်ရှားနိုင်ပြီးအမှားအယွင်းများသို့မဟုတ်ခြွင်းချက်များကိုရှောင်ရှားနိုင်သည်။
Property_Exists function ၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
<span><span><span class="hljs-title function_ invoke__">property_exists</span></span><span>(</span><span><span class="hljs-keyword">object</span></span><span> </span><span><span class="hljs-variable">$object</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$property</span></span><span>): </span><span><span class="hljs-keyword">bool</span></span><span>
</span></span>
$ object : ပစ္စည်းဥစ်စာပိုင်ဆိုင်မှုအတွက်စစ်ဆေးရန်လိုအပ်သည့်အရာဝတ်ထုဥပမာ။
$ Property : ချက်လက်မှတ်ရမည့်အိမ်ခြံမြေအမည်သည် string တစ်ခုဖြစ်ရမည်။
ဤလုပ်ဆောင်ချက်သည် Boolean Value ကိုပြန်ပို့သည်။
အရာဝတ်ထုသတ်မှတ်ထားသောပစ္စည်းဥစ်စာပိုင်ဆိုင်မှုရှိပါတယ်လျှင် စစ်မှန်တဲ့ ပြန်လာ။
အကယ်. အရာဝတ်ထုသည်သတ်မှတ်ထားသောပိုင်ဆိုင်မှုမရှိပါက မှားယွင်းစွာ ပြန်လာသည်။
အောက်ဖော်ပြပါအချက်များသည် Property_exists function ကိုအသုံးပြုခြင်းကိုပြသရန်ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-class"><span class="hljs-keyword">class</span></span></span><span> </span><span><span class="hljs-title">Person</span></span><span> {
</span><span><span class="hljs-keyword">public</span></span><span> </span><span><span class="hljs-variable">$name</span></span><span>;
</span><span><span class="hljs-keyword">private</span></span><span> </span><span><span class="hljs-variable">$age</span></span><span>;
</span><span><span class="hljs-keyword">public</span></span><span> </span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">__construct</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$name</span></span></span><span>, </span><span><span class="hljs-variable">$age</span></span><span>) {
</span><span><span class="hljs-variable language_">$this</span></span><span>->name = </span><span><span class="hljs-variable">$name</span></span><span>;
</span><span><span class="hljs-variable language_">$this</span></span><span>->age = </span><span><span class="hljs-variable">$age</span></span><span>;
}
}
</span><span><span class="hljs-variable">$person</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">Person</span></span><span>(</span><span><span class="hljs-string">"John"</span></span><span>, </span><span><span class="hljs-number">30</span></span><span>);
</span><span><span class="hljs-comment">// အများပြည်သူဂုဏ်သတ္တိများကိုစစ်ဆေးပါ 'name' တည်ရှိပါဘူး</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">property_exists</span></span><span>(</span><span><span class="hljs-variable">$person</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ဉစ်စာပစ္စည်းများ 'name' တည်နေ。\n"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ဉစ်စာပစ္စည်းများ 'name' 不တည်နေ。\n"</span></span><span>;
}
</span><span><span class="hljs-comment">// စစ်ဆေးကြည့်ရှု私有ဉစ်စာပစ္စည်းများ 'age' တည်ရှိပါဘူး</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">property_exists</span></span><span>(</span><span><span class="hljs-variable">$person</span></span><span>, </span><span><span class="hljs-string">'age'</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ဉစ်စာပစ္စည်းများ 'age' တည်နေ。\n"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ဉစ်စာပစ္စည်းများ 'age' 不တည်နေ。\n"</span></span><span>;
}
</span><span><span class="hljs-comment">// စစ်ဆေးကြည့်ရှု不တည်နေ的ဉစ်စာပစ္စည်းများ 'address'</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">property_exists</span></span><span>(</span><span><span class="hljs-variable">$person</span></span><span>, </span><span><span class="hljs-string">'address'</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ဉစ်စာပစ္စည်းများ 'address' တည်နေ。\n"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ဉစ်စာပစ္စည်းများ 'address' 不တည်နေ。\n"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
output ရလဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
<span><span>ဉစ်စာပစ္စည်းများ </span><span><span class="hljs-string">'name'</span></span><span> တည်နေ。
ဉစ်စာပစ္စည်းများ </span><span><span class="hljs-string">'age'</span></span><span> တည်နေ。
ဉစ်စာပစ္စည်းများ </span><span><span class="hljs-string">'address'</span></span><span> 不တည်နေ。
</span></span>
သတိပြုသင့်သည်မှာ အိမ်ခြံမြေ 0 န်ကြီးချုပ်သည်အရာဝတ်ထုဥပမာအားဖြင့်သတ်မှတ်ထားသော attribute attribute attribute ရှိ, မရှိကြောင်းစစ်ဆေးသည်။ သို့သော် attribute ၏မြင်နိုင်မှုကိုစစ်ဆေးသည်။ အဓိပ်ပါယျမှာ:
ပစ္စည်းဥစ်စာပိုင်ဆိုင်မှုသည်ပုဂ္ဂလိကပိုင်သို့မဟုတ်အကာအကွယ်ပေးသော်လည်းပင် မှန်ကန် သည်။
သို့သော်အိမ်ခြံမြေ၏တန်ဖိုးကိုစတင်မရှိမရှိစစ်ဆေးမှုမရှိပါ။
ဥပမာအားဖြင့်, ပုဂ္ဂလိကပိုင်ဆိုင်မှုကို constructor တွင်မပဏာမ အပ် ပါကအိမ်ခြံမြေအကျိုးဆောင်မှုရှိ, မရှိစစ်ဆေးသည် ။
တခါတရံတွင်ကျွန်ုပ်တို့သည်ပစ္စည်း ဥစ်စာပိုင်ဆိုင်မှုများကိုသာမတည်ရှိနိုင်ရန်အတွက်အိမ်ခြံမြေ 0 န်းကျင် နှင့်ထုတ်ပေးသူများသို့မဟုတ် ဗလာ များ နှင့် တွဲဖက်. အသုံးပြုနိုင်သည်။ ဥပမာများမှာအောက်ပါအတိုင်းဖြစ်သည် -
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-class"><span class="hljs-keyword">class</span></span></span><span> </span><span><span class="hljs-title">Person</span></span><span> {
</span><span><span class="hljs-keyword">public</span></span><span> </span><span><span class="hljs-variable">$name</span></span><span>;
</span><span><span class="hljs-keyword">private</span></span><span> </span><span><span class="hljs-variable">$age</span></span><span>;
</span><span><span class="hljs-keyword">public</span></span><span> </span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">__construct</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$name</span></span></span><span>) {
</span><span><span class="hljs-variable language_">$this</span></span><span>->name = </span><span><span class="hljs-variable">$name</span></span><span>;
}
}
</span><span><span class="hljs-variable">$person</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">Person</span></span><span>(</span><span><span class="hljs-string">"John"</span></span><span>);
</span><span><span class="hljs-comment">// စစ်ဆေးကြည့်ရှု 'age' ဉစ်စာပစ္စည်းများတည်ရှိပါဘူး并且已初始化</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">property_exists</span></span><span>(</span><span><span class="hljs-variable">$person</span></span><span>, </span><span><span class="hljs-string">'age'</span></span><span>) && </span><span><span class="hljs-keyword">isset</span></span><span>(</span><span><span class="hljs-variable">$person</span></span><span>->age)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ဉစ်စာပစ္စည်းများ 'age' တည်နေ并且已初始化。\n"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ဉစ်စာပစ္စည်းများ 'age' 不တည်နေ或未初始化。\n"</span></span><span>;
}
</span><span><span class="hljs-comment">// စစ်ဆေးကြည့်ရှု 'name' ဉစ်စာပစ္စည်းများတည်ရှိပါဘူး并且已初始化</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">property_exists</span></span><span>(</span><span><span class="hljs-variable">$person</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span>) && </span><span><span class="hljs-keyword">isset</span></span><span>(</span><span><span class="hljs-variable">$person</span></span><span>->name)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ဉစ်စာပစ္စည်းများ 'name' တည်နေ并且已初始化。\n"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
PHP တွင် PHP တွင်လက်တွေ့ကျသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်ပြီး၎င်းသည်အရာဝတ်ထုတစ်ခု၏ပိုင်ဆိုင်မှုတစ်ခုရှိ, မရှိကိုစစ်ဆေးရန်ကူညီနိုင်သည်။ Properties ကိုတိုက်ရိုက်ကြည့်ရှုခြင်းနှင့်မတူဘဲ Property_exists ကို အသုံးပြုခြင်းသည်မတည်ရှိသည့်ဂုဏ်သတ္တိများကိုရယူခြင်းကြောင့်ဖြစ်ပေါ်လာသောအမှားများကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။ ဤလုပ်ဆောင်မှုမှတစ်ဆင့်ကျွန်ုပ်တို့သည်အရာဝတ်ထုများ၏တည်ရှိမှုကိုပိုမိုလုံခြုံစွာကိုင်တွယ်နိုင်သည်,