Objetos

Inicialização de objetos

Para criar um novo object, utilize a instrução new para instanciar uma classe:

Exemplo #1 Construção de objeto

<?php
class foo
{
function
do_foo()
{
echo
"Fazendo foo.";
}
}

$bar = new foo;
$bar->do_foo();
?>

Para uma discussão completa, veja o capítulo Classes e Objetos.

Convertendo para objetos

Se um object é convertido para um object, ele não é modificado. Se um valor de qualquer outro tipo é convertido para um object, uma nova instância da classe interna stdClass é criada. Se o valor for null, a nova instância será vazia. Um array é convertido para um object com as propriedades nomeadas pelas chaves e os valores correspondentes, com exceção de chaves numéricas que ficarão inacessíveis a menos que sejam iteradas.

Exemplo #2 Convertendo para um objeto

<?php
$obj
= (object) array('1' => 'foo');
var_dump(isset($obj->{'1'})); // exibe 'bool(true)'

// Descontinuado a partir do PHP 8.1
var_dump(key($obj)); // exibe 'string(1) "1"'
?>

Para qualquer outro valor, uma propriedade chamada scalar conterá o valor.

Exemplo #3 Conversão com (object)

<?php
$obj
= (object) 'ciao';
echo
$obj->scalar; // exibe 'ciao'
?>