Convertir objeto a cadena en PHP
-
Utilice el método mágico
__toString()
para convertir un objeto en una cadena en PHP -
Utilice la función
serialize()
para convertir un objeto en una cadena en PHP -
Utilice la función
print_r()
para convertir un objeto en un Strig en PHP
Este tutorial presenta diferentes métodos para convertir un objeto en una cadena en PHP.
Utilice el método mágico __toString()
para convertir un objeto en una cadena en PHP
Podemos usar el método mágico de PHP __toString()
para convertir un objeto en una cadena en PHP. Hay algunos métodos en PHP que comienzan con __
, y PHP los reserva. Cuando realizamos algunas acciones específicas en objetos, estos métodos anulan el comportamiento predeterminado. Algunas de las funciones mágicas son __construct()
, __destruct()
, __isset()
, __set()
, __get()
, etc. Podemos usar el método __toString()
para emular un objeto a una cuerda. Luego, podemos estudiar el comportamiento del objeto que actúa como una cuerda. Antes de PHP 8.0, el método __toString()
siempre debería devolver un valor de cadena; de lo contrario, se producirá un error. Sin embargo, PHP 8.0 convertirá el valor en una cadena si es posible.
Por ejemplo, cree una clase Student
y escriba una variable $name
como propiedad y asígnele un nombre. Luego, escriba la función __toString()
y devuelva la variable $name
usando la palabra clave $this
. Fuera de la clase, cree un objeto de la clase Student
llamado $st
. Ahora, use la función echo
para imprimir el objeto $st
.
En la sección de salida, podemos ver que se muestra el nombre. Por lo tanto, prueba que el objeto se ha convertido en una cadena. La función echo
es una función de cadena, y la imprimimos usándola. Así es como podemos convertir un objeto en una cadena usando el método mágico __toString()
.
Código de ejemplo:
<?php
class Student {
protected $name = 'Jadon';
public function __toString() {
return $this->name;
}
}
$st = new Student;
echo $st;
?>
Producción :
Jadon
Utilice la función serialize()
para convertir un objeto en una cadena en PHP
La función serialize()
en PHP convierte el valor dado en una representación de una cadena de flujo de bytes. Podemos usar la función cuando queremos almacenar los datos en una sesión o base de datos. Los objetos se pueden convertir en una cadena usando la función serialize()
. La función devuelve una secuencia de bits. Cuando necesitamos transferir bits a través de una red, la función entra en uso.
Por ejemplo, cree la misma clase y variable miembro que en el primer método. Luego, cree una función show()
. Usando la función echo
dentro de la función para imprimir la variable $name
usando la palabra clave $this
. Fuera de la función, cree un objeto $st
de la clase Student
. Llame a la función show()
con el objeto $st
. Luego use la función serialize()
en el objeto $st
e imprímalo con la función echo
.
El siguiente ejemplo genera una cadena en una secuencia de bits. Por lo tanto, podemos convertir un objeto PHP en una cadena usando la función serialize()
.
Código de ejemplo:
<?php
class Student {
protected $name = 'Jadon';
public function show() {
echo $this->name."<br>";
}
}
$st = new Student;
$st->show();
$sr = serialize($st);
echo $sr;
?>
Producción :
Jadon
O:7:"Student":1:{s:7:"*name";s:5:"Jadon";}
Utilice la función print_r()
para convertir un objeto en un Strig en PHP
También podemos usar la función print_r()
para convertir un objeto en una cadena en PHP. La función toma el primer parámetro como valor a imprimir y el segundo parámetro como parámetro de retorno, un valor booleano. Podemos proporcionar un objeto como primer parámetro y un valor booleano true
como segundo parámetro para devolver una cadena. El parámetro de retorno es opcional. La función print_r()
imprimirá el valor de la variable suministrada si no se suministra el segundo parámetro.
Por ejemplo, cree una clase Student
con dos variables miembro, $name
y $age
. Cree un constructor con $name
y $age
como parámetros y establezca las variables. Fuera de la clase, cree un objeto $st
y dé los valores jadon
y 21
como argumentos al constructor. Luego, cree otra variable $result
y asígnele la función print_r()
. Establezca el primer parámetro de la función como $st
y true
como segundo parámetro. Finalmente, utilice la función echo
para imprimir el $result
.
Cuando establecemos el parámetro de retorno de la función print_r()
como true
, entonces la función devuelve la cadena y la almacena en la variable $result
. Así, podríamos imprimir la cadena usando la función echo
. De esta manera, podemos usar la función print_r()
para convertir el objeto en una cadena en PHP.
Código de ejemplo:
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;
?>
Producción :
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.
LinkedInArtículo relacionado - PHP Object
- Definir un objeto vacío en PHP
- Crear objeto predeterminado a partir de un valor vacío en PHP
- Crear matriz de objetos en PHP
- Convertir objeto PHP en matriz asociativa
- Crear un objeto sin clase en PHP