الدالة property_exists()‎‎ في PHP

من موسوعة حسوب
< PHP

(PHP 5 >= 5.1.0, PHP 7)

تتحقق الدالة  property_exists()‎‎‎‎‎‎‎ فيما إذا كان لدى الكائن أو الصنف الخاصيّة property.

الوصف

bool property_exists ( mixed $class , string $property )

تتحقق الدالة property_exists()‎‎‎‎‎‎‎ فيما إذا كانت الخاصية property  المُعطاة موجودةً في الصنف المُحدّد.

ملاحظة: على عكس الدالة isset()‎، ستُعيد الدالة property_exists()‎ القيمة TRUE حتى لو كان لدى الخاصية القيمة NULL.

المعاملات

class

اسم الصنف أو كائن من الصنف الذي يُراد اختباره.

property

اسم الخاصية المراد التأكد من وجودها.

القيم المعادة

تُعيد الدالة property_exists()‎‎‎‎‎‎‎ القيمة TRUE  إذا كانت الخاصية موجودة، وتُعيد القيمة FALSE  إذا كانت الخاصية غير موجودة، وتُعيد NULL  في حال حدوث خطأ.

ملاحظات

عند استخدام هذه الدالة فستستدعى أيّة تحميلات تلقائية autoloaders  مُسجلة إذا لم يكن الصنف مُعرَّفًا من قبل.

لا يمكن أن تكتشف الدالة property_exists()‎ الخواص التي يمكن الوصول إليها بطريقة سحرية باستخدام الدالة السحرية التابعة للصنف ‎__get‎‎.

سجل التغييرات

الإصدار الوصف
5.3.0  تتحقق هذه الدالة من وجود خاصية بشكل مُستقل عن إمكانية الوصول إليها.

أمثلة

المثال 1: مثال عن استخدام الدالة property_exists()‎‎‎‎‎

<?php
class myClass {
    public $mine;
    private $xpto;
    static protected $test;
    static function test() {
        var_dump(property_exists('myClass', 'xpto')); //true
    }
}
var_dump(property_exists('myClass', 'mine'));   //true
var_dump(property_exists(new myClass, 'mine')); //true
var_dump(property_exists('myClass', 'xpto'));   //true, PHP 5.3.0 ‏منذ النسخة‏
var_dump(property_exists('myClass', 'bar'));    //false
var_dump(property_exists('myClass', 'test'));   //true, PHP 5.3.0 ‏منذ النسخة‏
myClass::test();
?>

انظر أيضًا

  • الدالة method_exists()‎‎‎‎‎: التحقق فيما إذا كانت الدالة المُحددة التابعة للصنف موجودةً.

مصادر