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

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

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

تتحقق الدالة is_a()‎‎‎‎‎‎ فيما إذا كان الكائن من صنفٍ معيّن أو كان ذاك الصنف واحدًا من الأصناف الآباء له.

الوصف

bool is_a(object $object string $class_name [,bool $allow_string = FALSE ])

تتحقق الدالة is_a()‎‎‎‎‎‎  فيما إذا كانت الكائن المُعطى  object هو من الصنف class_name أو يملك هذا الصنف كواحد من الأصناف الآباء له.

المعاملات

object

الكائن المُختبر.

class_name

اسم الصنف.

allow_string

إذا ضُبِطَت قيمة هذا المعامل إلى القيمة FALSE، فلا يُسمح عندها باستخدام اسم صنف على شكل سلسلة نصية كقيمة للمعامل object. يمنع هذا أيضًا استدعاء autoloader إذا لم يكن الصنف موجودًا.

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

تُعيد الدالة is_a()‎‎‎‎‎‎ القيمة TRUE إذا كان الكائن من صنفٍ معيّن أو يملك ذاك الصنف كواحد من الأصناف الآباء له، وإلا فإنها ستُعيد القيمة FALSE .

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

الإصدار الوصف
5.3.9 أُضيف المعامل allow_string.
5.3.0 لم تعد هذه الدالة مُهملة ولم تعد ترمي التحذيرات E_STRICT.
5.0.0 أصبحت هذه الدالة مُهملة لصالح العامل instanceof. حيث سينتج استدعاء هذه الدالة التحذير E_STRICT.

أمثلة

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

<?php
// تعريف صنف‏
class WidgetFactory
{
  var $oink = 'moo';
}

// إنشاء كائن جديد‏
$WF = new WidgetFactory();

if (is_a($WF, 'WidgetFactory')) {
  echo "yes, \$WF is still a WidgetFactory\n";
}
?>

المثال 2: مثال عن استخدام العامل instanceof في الإصدار PHP 5

<?php
if ($WF instanceof WidgetFactory) {
    echo 'Yes, $WF is a WidgetFactory';
}
?>

انظر أيضًا

  • الدالة get_class()‎‎‎‎: إعادة اسم الصنف لكائن.
  • الدالة get_parent_class()‎‎‎‎‎‎: الحصول على اسم الصنف الأب لكائن أو لصنف.
  • الدالة is_subclass_of()‎‎‎‎: التحقق فيما إذا كان يملك الكائن صنفًا ما كواحد من الأصناف الآباء له.

مصادر