get_class

(PHP 4, PHP 5, PHP 7)

get_classReturns the name of the class of an object

Descrierea

get_class ( object $object = ? ) : string

Gets the name of the class of the given object.

Parametri

object

The tested object. This parameter may be omitted when inside a class.

Notă: Explicitly passing null as the object is no longer allowed as of PHP 7.2.0. The parameter is still optional and calling get_class() without a parameter from inside a class will work, but passing null now emits an E_WARNING notice.

Valorile întoarse

Returns the name of the class of which object is an instance. Returns false if object is not an object.

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.

Erori/Excepții

If get_class() is called with anything other than an object, an E_WARNING level error is raised.

Istoricul schimbărilor

Versiune Descriere
7.2.0 Prior to this version the default value for object was null and it had the same effect as not passing any value. Now null has been removed as the default value for object, and is no longer a valid input.

Exemple

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();

?>

Exemplul de mai sus va afișa:

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;

?>

Exemplul de mai sus va afișa:

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

Exemplul de mai sus va afișa:

string(11) "Foo\Bar\Baz"

A se vedea și