Converter objeto em string em PHP
-
Use o método mágico
__toString()para converter um objeto em uma string em PHP -
Use a função
serialize()para converter um objeto em uma string em PHP -
Use a função
print_r()para converter um objeto em um Strig em PHP
Este tutorial apresenta diferentes métodos para converter um objeto em uma string em PHP.
Use o método mágico __toString() para converter um objeto em uma string em PHP
Podemos usar o método mágico __toString() PHP para converter um objeto em uma string em PHP. Existem alguns métodos em PHP que começam com __, e o PHP os reserva. Quando executamos algumas ações específicas em objetos, esses métodos substituem o comportamento padrão. Algumas das funções mágicas são __construct(), __destruct(), __isset(), __set(), __get(), etc. Podemos usar o método __toString() para emular um objeto para uma string. Então, podemos estudar o comportamento do objeto que atua como uma corda. Antes do PHP 8.0, o método __toString() sempre deveria retornar um valor de string; caso contrário, um erro será gerado. No entanto, o PHP 8.0 forçará o valor em uma string, se possível.
Por exemplo, crie uma classe Student e escreva uma variável $name como propriedade e dê um nome a ela. Então, escreva a função __toString() e retorne a variável $name usando a palavra-chave $this. Fora da classe, crie um objeto da classe Student denominado $st. Agora, use a função echo para imprimir o objeto $st.
Na seção de saída, podemos ver que o nome é exibido. Conseqüentemente, prova que o objeto foi convertido em uma string. A função echo é uma função string, e imprimimos a string usando-a. É assim que podemos converter um objeto em uma string usando o método mágico __toString().
Código de exemplo:
<?php
class Student {
protected $name = 'Jadon';
public function __toString() {
return $this->name;
}
}
$st = new Student;
echo $st;
?>
Resultado:
Jadon
Use a função serialize() para converter um objeto em uma string em PHP
A função serialize() no PHP converte o valor dado em uma representação de uma string de fluxo de bytes. Podemos usar a função quando quisermos armazenar os dados em uma sessão ou banco de dados. Os objetos podem ser convertidos em uma string usando a função serialize(). A função retorna uma sequência de bits. Quando precisamos transferir bits em uma rede, a função entra em uso.
Por exemplo, crie a mesma classe e variável de membro como no primeiro método. Em seguida, crie uma função show(). Usando a função echo dentro da função para imprimir a variável $name usando a palavra-chave $this. Fora da função, crie um objeto $st da classe Student. Chame a função show() com o objeto $st. Em seguida, use a função serialize() no objeto $st e imprima-o com a função echo.
O exemplo abaixo produz uma string em uma sequência de bits. Assim, podemos converter um objeto PHP em uma string usando a função serialize().
Código de exemplo:
<?php
class Student {
protected $name = 'Jadon';
public function show() {
echo $this->name."<br>";
}
}
$st = new Student;
$st->show();
$sr = serialize($st);
echo $sr;
?>
Resultado:
Jadon
O:7:"Student":1:{s:7:"*name";s:5:"Jadon";}
Use a função print_r() para converter um objeto em um Strig em PHP
Também podemos usar a função print_r() para converter um objeto em uma string em PHP. A função usa o primeiro parâmetro como o valor a ser impresso e o segundo parâmetro como o parâmetro de retorno, um valor booleano. Podemos fornecer um objeto como o primeiro parâmetro e um valor booleano true como o segundo parâmetro para retornar uma string. O parâmetro de retorno é opcional. A função print_r() imprimirá o valor da variável fornecida se o segundo parâmetro não for fornecido.
Por exemplo, crie uma classe Student com duas variáveis de membro, $name e $age. Crie um construtor com $name e $age como parâmetros e defina as variáveis. Fora da classe, crie um objeto $st e forneça os valores jadon e 21 como argumentos para o construtor. Então, crie outra variável $result e atribua a função print_r() a ela. Defina o primeiro parâmetro da função como $st e true como o segundo parâmetro. Finalmente, use a função echo para imprimir o $result.
Quando definimos o parâmetro de retorno da função print_r() como true, a função retornou a string e a armazenou na variável $result. Assim, poderíamos imprimir a string usando a função echo. Desta forma, podemos usar a função print_r() para converter o objeto em uma string em PHP.
Código de exemplo:
class Student {
protected $name;
protected $age;
public function __construct($name, $age) {
$this->name =$name;
$this->age = $age;
}
}
$st = new Student("jadon", 21);
$result = print_r($st, true);
echo $result;
?>
Resultado:
Student Object ( [name:protected] => jadon [age:protected] => 21 )
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.
LinkedInArtigo relacionado - PHP Object
- Criar matriz de objetos em PHP
- Converter objeto PHP em matriz associativa
- Crie um objeto sem classe em PHP
