Introduction : Cette classe de fonctions permet d'obtenir des informations sur les classes et les instances d'objets. Vous pouvez obtenir le nom de la classe à laquelle appartient l'objet, ainsi que ses propriétés et méthodes de membre. En utilisant ces fonctions, vous pouvez non seulement déterminer tous les membres d'une classe d'objet, mais également connaître son origine (par exemple, de quelle classe la classe d'objet est une extension).
class_exists — Vérifiez si la classe est définie
bool class_exists ( string $class_name [, bool $autoload ] )
Cette fonction renvoie VRAI si la classe pointée par nom_classe est déjà définie, sinon elle renvoie FAUX.
class_exists() essaiera d'appeler __autoload par défaut. Si vous ne voulez pas que class_exists() appelle __autoload, vous pouvez définir le paramètre autoload sur FALSE.
get_class_methods — Renvoie un tableau de noms de méthodes de classe
tableau get_class_methods ( mixte $class_name )
De PHP À partir de 4.0.6, vous pouvez spécifier l'objet lui-même au lieu de class_name, c'est-à-dire :
$class_methods = get_class_methods('myclass'); > $ class_methods = get_class_methods(new myclass());
Depuis PHP 5, cette fonction renvoie le nom de la méthode telle qu'elle est définie (sensible à la casse). En PHP 4, renvoie toujours des minuscules.
get_class_vars — Renvoie un tableau composé des attributs par défaut d'une classe
array get_class_vars ( string $class_name )
Renvoie un tableau associatif composé des propriétés publiques par défaut de la classe. Les éléments de ce tableau existent sous la forme varname => value.
get_class — Renvoie le nom de classe de l'objet
string get_class ([ object $obj ] )
Renvoie le nom de la classe à laquelle appartient l'instance d'objet obj. Renvoie FALSE si obj n'est pas un objet.
get_declared_classes — Renvoie un tableau de noms de classes définies
tableau get_declared_classes ( void )
get_declared_interfaces — Renvoie un tableau contenant toutes les interfaces déclarées
array get_declared_interfaces ( void )
get_object_vars — Renvoie un associatif tableau de propriétés d'objet
array get_object_vars ( object $obj )
get_parent_class — Renvoie le nom de la classe parent du objet ou classe
string get_parent_class ([ Mixed $obj ] )
si obj est un objet, alors le Le nom de la classe parent de la classe à laquelle appartient l'instance d'objet obj est renvoyé.
Depuis PHP 5, obj est facultatif s'il est appelé dans une méthode d'un objet.
interface_exists — Vérifiez si l'interface a été définie
bool interface_exists ( string $interface_name [, bool $autoload ] )
Cette fonction renvoie VRAI lorsque l'interface donnée par nom_interface a été définie, sinon elle renvoie FAUX.
is_a — Renvoie VRAI si l'objet appartient à cette classe ou si cette classe est la classe parent de cet objet
bool is_a ( object $object , string $class_name )
【Tianya Note】Cette fonction a été abandonnée dans PHP 5 et remplacée par instanceof, le seul opérateur de type en PHP. La méthode d'utilisation est la suivante :
classe A { }
classe B { }
$thing = new A
if ($thing instanceof A; ) {
echo 'A'; }
if ($thing instanceof B) {
echo 'B'; }
?> 🎜>
is_subclass_of — Renvoie VRAI si cet objet est une sous-classe de cette classe
bool is_subclass_of ( object $object , string $class_name )
method_exists — Vérifiez si la méthode de classe existe
bool method_exists ( object $object , string $method_name )
property_exists — Vérifie si un objet ou une classe possède la propriété
bool property_exists ( Mixed $class , string $property )
【Tianya Note】Il convient de noter que si l'attribut n'est pas accessible dans la « portée actuelle », comme privé, FALSE sera toujours renvoyé, par exemple :
class maClasse {
public $mine;
privé $xpto ;
static function test() {
// true, on peut y accéder à partir d'ici
var_dump(property_exists('myClass', 'xpto'));
}
}
var_dump(property_exists('myClass', 'mine')); //true
var_dump(property_exists(new myClass, 'mine')); //true
var_dump(property_exists('myClass', 'xpto')); //false, n'est pas public
myClass::test();
?>
以上就是摘自PHP手册[3] – Classes/Objets 类/对象函数的内容,更多相关内容请关注PHP中文网(www.php.cn)!