326 of 410 menu

Η συνάρτηση is_subclass_of

Η συνάρτηση is_subclass_of ελέγχει εάν ένα αντικείμενο ή μια κλάση ανήκει στους απογόνους της καθορισμένης κλάσης ή εάν υλοποιεί την καθορισμένη διεπαφή. Δέχεται ως πρώτη παράμετρο ένα αντικείμενο ή όνομα κλάσης, ως δεύτερη - το όνομα της γονικής κλάσης ή διεπαφής. Η τρίτη προαιρετική παράμετρος καθορίζει εάν πρέπει να ληφθεί υπόψη η αυτόματη φόρτωση κλάσεων.

Σύνταξη

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

Παράδειγμα

Ας ελέγξουμε την κληρονομικότητα απλών κλάσεων:

<?php class ParentClass {} class ChildClass extends ParentClass {} $res = is_subclass_of('ChildClass', 'ParentClass'); var_dump($res); ?>

Αποτέλεσμα εκτέλεσης κώδικα:

true

Παράδειγμα

Ας ελέγξουμε την υλοποίηση διεπαφής:

<?php interface MyInterface {} class MyClass implements MyInterface {} $res = is_subclass_of('MyClass', 'MyInterface'); var_dump($res); ?>

Αποτέλεσμα εκτέλεσης κώδικα:

true

Παράδειγμα

Έλεγχος με αντικείμενο αντί για όνομα κλάσης:

<?php class Animal {} class Dog extends Animal {} $dog = new Dog(); $res = is_subclass_of($dog, 'Animal'); var_dump($res); ?>

Αποτέλεσμα εκτέλεσης κώδικα:

true

Παράδειγμα

Έλεγχος περίπτωσης όπου η κλάση δεν είναι απόγονος:

<?php class A {} class B {} $res = is_subclass_of('B', 'A'); var_dump($res); ?>

Αποτέλεσμα εκτέλεσης κώδικα:

false

Δείτε επίσης

  • τη συνάρτηση is_a,
    που ελέγχει την ιδιότητα μέλους σε μια κλάση
  • τη συνάρτηση class_parents,
    που επιστρέφει όλους τους γονείς
  • τη συνάρτηση get_parent_class,
    που επιστρέφει τη γονική κλάση
  • τη συνάρτηση instanceof,
    τελεστής ελέγχου στιγμιότυπου
Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη