Crie um objeto sem classe em PHP

Subodh Poudel 30 janeiro 2023
  1. Use new stdClass() para criar um objeto sem uma classe em PHP
  2. Faça o Typecast de um array em um objeto usando o tipo de dados object para criar um objeto sem criar uma classe
  3. Use a função json_dencode() para criar um objeto sem criar uma classe em PHP
Crie um objeto sem classe em PHP

Este artigo apresentará métodos para criar um objeto sem criar uma classe em PHP.

Use new stdClass() para criar um objeto sem uma classe em PHP

Podemos criar um objeto de stdClass() sem fazer uma classe base em PHP. Podemos usar o operador new para criar um objeto de stdClass(). O objeto pode acessar as propriedades diretamente chamando-as. Assim, podemos criar objetos e propriedades dinâmicas usando stdClass(). O compilador cria uma instância de stdClass() quando um array é convertido para um objeto.

Por exemplo, crie uma variável $object e armazene uma instância de stdClass() criada pelo operador new. Chame uma variável property do objeto $object e atribua uma string. Atribua a string I am an object's property. Use a barra invertida \ para escapar do apóstrofo no texto. Aplique a função var_dump() na variável $object para despejar as informações sobre a variável.

No exemplo abaixo, criamos um objeto da stdClass() e instantaneamente atribuímos um valor à propriedade do objeto. Quando despejamos o objeto, veremos o objeto da classe stdClass criado na saída. Assim, podemos criar um objeto sem criar uma classe base em PHP.

Código de exemplo:

#php 7.x
<?php
$object = new stdClass();
$object->property = 'I am an object\'s property';
var_dump($object);
?>

Resultado:

object(stdClass)#1 (1) { ["property"]=> string(25) "I am an object's property" }

Faça o Typecast de um array em um objeto usando o tipo de dados object para criar um objeto sem criar uma classe

Podemos criar um objeto sem criar uma classe em PHP, convertendo um tipo em um objeto usando o tipo de dados object. Podemos typecast um array em um objeto stdClass. A palavra-chave object é envolvida entre parênteses antes que o array digite o array no objeto. Podemos usar a função var_dump() como o primeiro método para ver as informações sobre o objeto typecasted.

Por exemplo, crie uma variável $place e armazene um array nela. A matriz contém chaves como city e country e os respectivos valores como Pokhara e Nepal. Atribua a variável $place a uma nova variável $obj. Escreva o tipo de dados object dentro de um parêntese antes da variável $place. Chame a função var_dump() com $obj como parâmetro.

O exemplo abaixo mostra um array em um objeto. A função var_dump() mostra o objeto $obj na seção de saída. Mostra que é um objeto stdClass. Verifique o Manual do PHP para saber como funciona o typecasting.

Exemplo de código:

#php 7.x
<?php
$place = ['city' => 'Pokhara', 'country' =>'Nepal'];
$obj = (object) $place;
var_dump($obj);
?>

Resultado:

object(stdClass)#1 (2) { ["city"]=> string(7) "Pokhara" ["country"]=> string(5) "Nepal" }

Use a função json_dencode() para criar um objeto sem criar uma classe em PHP

A função json_decode() converte a string JSON em um objeto PHP. A função recebe um parâmetro de string que será convertido em um objeto. A função também aceita um parâmetro booleano opcional. O valor padrão desse parâmetro booleano é false, que converterá o objeto JSON em um objeto PHP. Se o valor for true, ele converterá o objeto JSON em um array associativa.

Por exemplo, crie uma variável $jsonobj e armazene um objeto JSON nela. O objeto contém Harry, Tony e Juan como a chave e os valores inteiros 27, 24 e 32 como os respectivos valores. Os pares de valores-chave são colocados entre chaves. O objeto JSON é envolvido por aspas como uma string. Em seguida, use a função json_decode() nas variáveis ​​$jsonobj. Aplique a função var_dump() à função json_encode() para exibir as informações sobre o objeto codificado.

No exemplo abaixo, a função json_encode() converte o objeto JSON em objeto PHP de stdClass. A função var_dump() mostra a propriedade e o valor do objeto. Assim, criamos um objeto sem criar uma classe em PHP. Ele também exibe o tipo do valor. Por favor, verifique o Manual do PHP para entender mais sobre a função json_decode().

Código de exemplo:

# php 7.x
<?php
$jsonobj = '{"Harry":27,"Tony":24,"Juan":32}';
var_dump(json_decode($jsonobj));
?>

Resultado:

object(stdClass)#1 (3) { ["Harry"]=> int(27) ["Tony"]=> int(24) ["Juan"]=> int(32) }
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

Artigo relacionado - PHP Object