Considere o seguinte script PHP: A execução desse script pro...
Considere o seguinte script PHP:
A execução desse script produz como resultado a sequência:
Comentários
Veja os comentários dos nossos alunos
Eu desconfiei que o resultado fosse [ALFA] [8] (FORA) (FORA) (FORA) e fui testar.
Foi exatamente o que eu imaginei.
Estou fazendo algo errado??
Segue o código pra testar.
class ALFA
{
private $class_id = 3;
function ALFA($inc=9)
{
$this -> class_id += $inc;
}
function principal()
{
if(isset($this)){
echo '['.get_class($this)."]\n";
echo '('.$this->class_id.")\n";
}else{
echo "(FORA)\n";
}
}
}
//(continuacao)
class BETA
{
public $class_id=4;
function auxiliar()
{
ALFA::principal();
}
}
$alfa = new ALFA(5);
$beta = new BETA();
$alfa -> principal();
ALFA::principal();
$beta->auxiliar();
BETA::auxiliar();
?>
Em PHP 7 a saída é essa que você colocou mesmo; mas em PHP 5 a questão está correta.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo