Converter Arrays em Objetos no PHP | Carlos Spohr
Em alguns momentos precisamos manipular arrays simples. Algumas vezes ficar "passeando" pelas posições corretas dos arrays pode ser chata e desnecessária. Quando temos uma página carregada por POST por exemplo, costumanos escrever códigos de SQL, validações lendo os dados da seguinte forma:
if ($_POST['nome'] != " || isset($_POST['nome']) { // façamos algumas coisas.
// garantindo a segurança.
$nome = addslashes($_POST['nome']);
Seria melhor de um outro jeito, para esses casos não é necessário trabalhar com posições de arrays, poderiamos trabalhar com notação de objeto da classe stdClass diretamente. Para isso podemos fazer da seguinte forma.
function get_post_object ()
if(!sizeof($_POST))
$object->$field = addslashes($value);
Muito trabalhoso ainda, podemos simplificar mais. O PHP permite fazer um casting direto de um array normal em um objeto do tipo stdClass, para fazer isso fazemos o seguinte:
$object_post = (object) $_POST;
$object_get = (object) $_GET;
$array = array("id_usuario" => 123, "login" => "tio_joao", "senha" => "caneta");
$usuario = (object) $array;
// a partir de agora
$object_post->nome …..$usuario->login
Trabalhar diretamente com objetos stdClass nos fazem ganhar um bom tempo escrevendo alguns scripts genéricos, como para SQL, validações, etc.