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

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

(PHP 4, PHP 5, PHP 7)

تتحقق الدالّة class_exists()‎‎‎ من أنّ الصنف الممرّر مُعرّف.

الوصف

bool class_exists ( string $class_name [, bool $autoload = TRUE ] )

تتحقق الدالة class_exists()‎ من أن الصنف الممرّر إليها مُعرّف أم لا.

المعاملات

class_name

اسم الصف المراد التحقق منه. يتم مطابقة الاسم بشكل غير حساس لحالة الأحرف.

autoload

ضبط إذا كانت ستُستدعى دالة ‎__autoload‎‎ افتراضيًا أم لا.

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

تُعيد الدالّة class_exists()‎ القيمة TRUE إذا كان الصنف class_name معرّفًا، وإلاّ فستُعيد FALSE.

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

الاصدار       الوصف
5.0.2 لم تعد تُعيد الدالة class_exists()‎ القيمة TRUE للواجهات (interfaces) المعرّفة. استخدم الدالة interface_exists()‎.

أمثلة

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

<?php
//تحقق من أن الصنف معرّف قبل محاولة استخدامه
if (class_exists('MyClass')) {
    $myclass = new MyClass();
}

?>

المثال 2: مثال عن استخدام المعامل  autoload

<?php
function __autoload($class)
{
    include($class . '.php');

    //تحقق فيما إذا كانت التضمينات قد صرحت عن الصنف 
    if (!class_exists($class, false)) {
        trigger_error("Unable to load class: $class", E_USER_WARNING);
    }
}

if (class_exists('MyClass')) {
    $myclass = new MyClass();
}

?>

انظر أيضًا

  • الدالة function_exists()‎‎: إعادة القيمة TRUE إذا كانت الدالة الممرّرة مُعرّفة.
  • الدالةinterface_exists()‎‎ ‎: التحقق فيما إذا كانت الواجهة مُعرّفة.
  • الدالة get_declared_classes(): إعادة مصفوفة بأسماء الأصناف المُعرّفة.

مصادر