Criar um objeto sem escrever uma classe no PHP

Trabalhar com objetos é mais organizado e fácil do que utilizar arrays.

O código fica mais limpo, melhora a compreensão e também facilita na hora da exportação para algum tipo de armazenamento.

É possível trabalhar multidimensionalmente igual com array, porém deve ser tomado alguns cuidados durante a declaração do objeto.

Quando utilizar objeto dimensional, não é necessário setar ele com “(object) array()“, porém, se for colocá-lo em uma variável para polpar código, terá que setar como “(object) array()“, caso contrário nada será armazenado.

<?php
/* Não é necessário definir como objeto */
$obj->biblioteca->historia;
$obj->biblioteca->historia->livro1 = "Civilization";

/* É OBRIGATÓRIO definir como objeto */
$historia = $obj->biblioteca->historia = (object) array();
$historia->livro1 = "Civilization";
?>

<?php

$obj = array();
$obj = (object) $obj;

$obj->nome = "Maria";
$obj->sobrenome = "Fonte";


// multidimencional
$obj->biblioteca = (object) array(); // Instancia um objeto

$obj->biblioteca->matematica = (object) array();
$obj->biblioteca->matematica->livro1 = "Math v4";
$obj->biblioteca->matematica->livro2 = "Aprenda matematica";

$obj->biblioteca->historia = (object) array();
$obj->biblioteca->historia->livro1 = "Civilization";
$obj->biblioteca->historia->livro2 = "Maias ...";

$obj->biblioteca->geografia = (object) array();
$obj->biblioteca->geografia->livro1 = "Nosso Planeta";
$obj->biblioteca->geografia->livro2 = "Ocean v2 by Auth";


echo '<pre>';
print_r($obj);

Queremos saber sua opinião