Class/Object Functions
Classes/Objects
&reftitle.intro;
Estas funções te permitem obter informações sobre classes e instâncias
de objetos. Você pode obter o nome da classe que um objeto pertence,
bem como suas propriedades e métodos. Usando estas funções, você pode
descobrir não apenas a classe de um objeto, mas também seu parentesco
(i.e. Qual classe o objeto se extende).
&reftitle.examples;
Neste exemplo, nós primeiramente definiremos uma classe base
e uma extensão da classe. A classe base descreve um vegetal comum,
que é comestível ou não e que tem sua cor. A sub-classeEspinafre
adiciona um método para cozinha-lo e outro para descobrir se ele está cozido.
classes.inc
edible = $edible;
$this->color = $color;
}
function is_edible() {
return $this->edible;
}
function what_color() {
return $this->color;
}
} // end of class Vegetable
// extends the base class
class Spinach extends Vegetable {
var $cooked = false;
function Spinach() {
$this->Vegetable( true, "green" );
}
function cook_it() {
$this->cooked = true;
}
function is_cooked() {
return $this->cooked;
}
} // end of class Spinach
?>
]]>
Nós instanciamos 2 objetos destas classes e exibimos informações sobre elas,
incluindo o parentesco de suas classes.
Nós também definimos algumas funções úteis, principalmente ter uma boa sáida de
variáveis.
test_script.php
]]>
Uma coisa importante para notar no exemplo acima é que o
objeto$leafy é uma instância da
classeEspinafre que é uma subclasse
de Vegetal,
então a última parte do script acima retornará:
&reference.classobj.functions;