Home Artigos PHP Converter Arrays em Objetos no PHP

Converter Arrays em Objetos no PHP

Bom dia,

Em alguns momentos precisamos manipular arrays simples. Algumas vezes ficar "passeando" pelas posições corretas dos arrays pode ser chama e meio que 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:

$nome = $_POST['nome'];
// ou
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))
{
return null;
}
else
{
$object = new stdClass();

foreach ($_POST as $field => $value)
{
$object->$field = addslashes($value);
}
return $object;
}
}

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.

Espero que tenha sido útil, um forte abraço e até a próxima.

Comentarios (0)

RSS feed Comments

Escreva seu Comentario

smaller | bigger

busy
Última atualização ( Ter, 26 de Janeiro de 2010 11:18 )  

Sites Recomendados

Joomla.org