## 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'
    ?>

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open