ফাংশন is_subclass_of

ফাংশন is_subclass_of চেক করে যে একটি অবজেক্ট বা ক্লাস নির্দিষ্ট ক্লাসের সাবক্লাস কিনা অথবা এটি নির্দিষ্ট ইন্টারফেস ইমপ্লিমেন্ট করে কিনা। প্রথম প্যারামিটার হিসেবে এটি একটি অবজেক্ট বা ক্লাসের নাম নেয়, দ্বিতীয়টি - প্যারেন্ট ক্লাস বা ইন্টারফেসের নাম। তৃতীয় ঐচ্ছিক প্যারামিটার নির্ধারণ করে যে অটোলোডিং ক্লাসগুলিকে বিবেচনা করতে হবে কিনা।

সিনট্যাক্স

phpis_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool

উদাহরণ

সাধারণ ক্লাসের ইনহেরিটেন্স চেক করা যাক:

php<?php
  class ParentClass {}
  class ChildClass extends ParentClass {}

  $res = is_subclass_of('ChildClass', 'ParentClass');
  var_dump($res);
?>

কোড 실행ের ফলাফল:

phptrue

উদাহরণ

ইন্টারফেস ইমপ্লিমেন্টেশন চেক করা যাক:

php<?php
  interface MyInterface {}
  class MyClass implements MyInterface {}

  $res = is_subclass_of('MyClass', 'MyInterface');
  var_dump($res);
?>

কোড 실행ের ফলাফল:

phptrue

উদাহরণ

ক্লাসের নামের পরিবর্তে অবজেক্ট দিয়ে চেক করা:

php<?php
  class Animal {}
  class Dog extends Animal {}

  $dog = new Dog();
  $res = is_subclass_of($dog, 'Animal');
  var_dump($res);
?>

কোড 실행ের ফলাফল:

phptrue

উদাহরণ

যে ক্ষেত্রে ক্লাসটি সাবক্লাস নয় সেই ক্ষেত্রে চেক করা:

php<?php
  class A {}
  class B {}

  $res = is_subclass_of('B', 'A');
  var_dump($res);
?>

কোড 실행ের ফলাফল:

phpfalse

আরও দেখুন

  • ফাংশন is_a,
    যা ক্লাসের অন্তর্ভুক্তি চেক করে
  • ফাংশন class_parents,
    যা সকল প্যারেন্ট রিটার্ন করে
  • ফাংশন get_parent_class,
    যা প্যারেন্ট ক্লাস রিটার্ন করে
  • ফাংশন instanceof,
    ইনস্ট্যান্স চেক অপারেটর