(PHP 4, PHP 5, PHP 7, PHP 8)
get_class — Returns the name of the class of an object
$object = ?): string
   Gets the name of the class of the given object.
  
objectThe tested object. This parameter may be omitted when inside a class.
Note: Explicitly passing
nullas theobjectis no longer allowed as of PHP 7.2.0 and emits anE_WARNING. As of PHP 8.0.0, a TypeError is emitted whennullis used.
   Returns the name of the class of which object is an
   instance.
  
   If object is omitted when inside a class, the
   name of that class is returned.
  
   If the object is an instance of a class which exists 
   in a namespace, the qualified namespaced name of that class is returned.
  
   If get_class() is called with anything other than an
   object, TypeError is raised. Prior to PHP 8.0.0,
   an E_WARNING level error was raised.
  
   If get_class() is called with no arguments from outside a class,
   Error is raised. Prior to PHP 8.0.0,
   an E_WARNING level error was raised.
  
| Version | Description | 
|---|---|
| 8.0.0 | Calling this function from outside a class, without any arguments, will
        trigger an Error. Previously,
        an E_WARNINGwas raised
        and the function returnedfalse. | 
| 7.2.0 | Prior to this version the default value for objectwasnulland it had the same effect as not passing any value. Nownullhas been removed as the default value forobject,
        and is no longer a valid input. | 
Example #1 Using get_class()
<?php
class foo {
    function name()
    {
        echo "My name is " , get_class($this) , "\n";
    }
}
// create an object
$bar = new foo();
// external call
echo "Its name is " , get_class($bar) , "\n";
// internal call
$bar->name();
?>
The above example will output:
Its name is foo My name is foo
Example #2 Using get_class() in superclass
<?php
abstract class bar {
    public function __construct()
    {
        var_dump(get_class($this));
        var_dump(get_class());
    }
}
class foo extends bar {
}
new foo;
?>
The above example will output:
string(3) "foo" string(3) "bar"
Example #3 Using get_class() with namespaced classes
<?php
namespace Foo\Bar;
class Baz {
    public function __construct()
    {
    }
}
$baz = new \Foo\Bar\Baz;
var_dump(get_class($baz));
?>
The above example will output:
string(11) "Foo\Bar\Baz"