downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

ReflectionClass::getProperties> <ReflectionClass::getNamespaceName
[edit] Last updated: Fri, 17 May 2013

view this page in

ReflectionClass::getParentClass

(PHP 5)

ReflectionClass::getParentClassRécupère la classe parente

Description

public object ReflectionClass::getParentClass ( void )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un objet ReflectionClass.

Voir aussi



add a note add a note User Contributed Notes ReflectionClass::getParentClass - [3 notes]
up
1
havelangep at hotmail dot com
2 years ago
Here is a "replacement" for is_a that will additionally look both into the extended classes and in the implemented interfaces

<?php
/**
     * Check if a class extends or implements a specific class/interface
     * @param string $search The class or interface name to look for
     * @param string $className The class name of the object to compare to
     * @return bool
     */
   
function IsExtendsOrImplements( $search, $className ) {
       
$class = new ReflectionClass( $className );
        if(
false === $class ) {
            return
false;
        }
        do {
           
$name = $class->getName();
            if(
$search == $name ) {
                return
true;
            }
           
$interfaces = $class->getInterfaceNames();
            if(
is_array( $interfaces ) && in_array( $search, $interfaces )) {
                return
true;
            }
           
$class = $class->getParentClass();
        } while(
false !== $class );
        return
false;
    }
?>
up
1
jochem at drecomm dot nl
2 years ago
When you want to find all parents (parent, parent of parent, parent of parent's parent and so on) try:

<?php
$class
= new ReflectionClass('whatever');

$parents = array();

while (
$parent = $class->getParentClass()) {
   
$parents[] = $parent->getName();
}

echo
"Parents: " . implode(", ", $parents);
?>

ReflectionClass::getParentClass() can return a ReflectionClass object of the parent class or false if no parent.

(PHP Version 5.1.6)
up
-2
meecrob at k42b3 dot com
4 years ago
When your class extends a parent class you maybe want the name
of them. Using getParentClass() is maybe a bit confusing. When
you want the name as string try the following.

<?php
$class
= new ReflectionClass('whatever');

$parent = (array) $class->getParentClass();

if(
array_key_exists('name', $parent))
{
   
# name of the parent class
   
$parent = parent['name'];
}
else
{
   
# no parent class avaible
   
$parent = false;
}
?>

When you turn getParentClass() to an array it will result either
array(0 => false) when no parent class exist or
array('name' => 'name of the parent class'). Tested on PHP 5.2.4

 
show source | credits | sitemap | contact | advertising | mirror sites