323 of 410 menu

Η συνάρτηση get_called_class

Η συνάρτηση get_called_class επιστρέφει το όνομα της κλάσης, στο πλαίσιο της οποίας κλήθηκε μια στατική μέθοδος. Αυτό είναι χρήσιμο όταν εργάζεστε με κληρονομικότητα, όταν πρέπει να προσδιορίσετε από ποια ακριβώς κλάση κλήθηκε η μέθοδος.

Σύνταξη

get_called_class();

Παράδειγμα

Ας δημιουργήσουμε δύο κλάσεις και ας καλέσουμε τη μέθοδο από την παιδική κλάση:

<?php class ParentClass { public static function test() { return get_called_class(); } } class ChildClass extends ParentClass {} echo ChildClass::test(); ?>

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

'ChildClass'

Παράδειγμα

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

<?php class A { public static function who() { return get_called_class(); } } class B extends A {} echo A::who(); echo "\n"; echo B::who(); ?>

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

'A' 'B'

Παράδειγμα

Χρήση της συνάρτησης για δημιουργία αντικειμένων της απαιτούμενης κλάσης:

<?php class Factory { public static function create() { $class = get_called_class(); return new $class; } } class Product extends Factory {} $obj = Product::create(); echo get_class($obj); ?>

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

'Product'

Δείτε επίσης

  • τη συνάρτηση get_class,
    που επιστρέφει την κλάση ενός αντικειμένου
  • τη συνάρτηση get_parent_class,
    που επιστρέφει την γονική κλάση
Ελληνικά
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 για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη