Funksie get_called_class

Die funksie get_called_class gee die naam van die klas terug, in die konteks waarvan die statiese metode geroep is. Dit is nuttig wanneer gewerk word met oorerwing, wanneer vasgestel moet word uit presies watter klas die metode geroep is.

Sintaksis

phpget_called_class();

Voorbeeld

Laat ons twee klasse skep en die metode uit die afgeleide klas roep:

php<?php
  class ParentClass {
    public static function test() {
      return get_called_class();
    }
  }

  class ChildClass extends ParentClass {}

  echo ChildClass::test();
?>

Resultaat van kode-uitvoering:

php'ChildClass'

Voorbeeld

Laat ons die werking van die funksie toets wanneer dit uit die ouerklas geroep word:

php<?php
  class A {
    public static function who() {
      return get_called_class();
    }
  }

  class B extends A {}

  echo A::who();
  echo "\n";
  echo B::who();
?>

Resultaat van kode-uitvoering:

php'A'
'B'

Voorbeeld

Die gebruik van die funksie om objekte van die nodige klas te skep:

php<?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);
?>

Resultaat van kode-uitvoering:

php'Product'

Sien ook