get_class
(PHP 4, PHP 5, PHP 7)
get_class — Returns the name of the class of an object
Description
$object
] ) : string
Gets the name of the class of the given object
.
Parameters
-
object
-
The tested object. This parameter may be omitted when inside a class.
Note: Explicitly passing
NULL
as theobject
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 passingNULL
now emits anE_WARNING
notice.
Return Values
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.
Errors/Exceptions
If get_class() is called with anything other than an
object, an E_WARNING
level error is raised.
Changelog
Version | Description |
---|---|
7.2.0 |
NULL was removed as the default value for object ,
and is no longer a valid input.
|
5.3.0 |
NULL became the default value for object ,
so passing NULL to object now has the same
result as not passing any value.
|
Examples
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"
See Also
- get_called_class() - The "Late Static Binding" class name
- get_parent_class() - Retrieves the parent class name for object or class
- gettype() - Get the type of a variable
- is_subclass_of() - Checks if the object has this class as one of its parents or implements it
English translation
You have asked to visit this site in English. For now, only the interface is translated, but not all the content yet.If you want to help me in translations, your contribution is welcome. All you need to do is register on the site, and send me a message asking me to add you to the group of translators, which will give you the opportunity to translate the pages you want. A link at the bottom of each translated page indicates that you are the translator, and has a link to your profile.
Thank you in advance.
Document created the 30/01/2003, last modified the 26/10/2018
Source of the printed document:https://www.gaudry.be/en/php-rf-get-class.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.