array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'pt_BR', ), 'this' => array ( 0 => 'function.is-a.php', 1 => 'is_a', ), 'up' => array ( 0 => 'ref.classobj.php', 1 => 'Funções para Classes/Objetos', ), 'prev' => array ( 0 => 'function.interface-exists.php', 1 => 'interface_exists', ), 'next' => array ( 0 => 'function.is-subclass-of.php', 1 => 'is_subclass_of', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'pt_BR', 'path' => 'reference/classobj/functions/is-a.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
is_a — Verifica se um objeto é ou herda de uma classe
Determina se o object_or_class
é do
tipo class
,
ou se tem class
como um dos tipos herdados.
object_or_class
O nome da classe ou o objeto.
class
O nome da classe.
allow_string
Se esse parâmetro for configurado para false
, um nome de classe em string em object_or_class
não será permitido. Isso evita chamar o autoloader de uma classe inexistente.
Retorna true
se o object_or_class
for do
tipo class
ou se tiver class
como um dos tipos herdados, false
caso contrário.
Exemplo #1 Exemplo de is_a()
<?php
// Define uma classe
class WidgetFactory
{
var $oink = 'moo';
}
// Cria um objeto
$WF = new WidgetFactory();
if (is_a($WF, 'WidgetFactory')) {
echo "\$WF implementa WidgetFactory\n";
}
?>
Exemplo #2 Utilizando o operador instanceof
<?php
if ($WF instanceof WidgetFactory) {
echo "\$WF implementa WidgetFactory\n";
}
?>