Convertir objeto a cadena php

Convertir objeto a cadena php
Para cualquier lenguaje de programación orientado objetado, los conceptos de objetos y cadenas son bloques de construcción fundamentales. PHP se basa en objetos y cadenas para proporcionar flexibilidad y características. Este artículo discutirá cómo puede convertir un objeto PHP a una cadena utilizando varios métodos.

Usando la función print_r ()

La primera técnica que podemos usar para convertir un objeto en una cadena es la función print_r. La función toma el valor para imprimir y un parámetro de retorno. El parámetro de retorno es un valor booleano.

Por ejemplo, para convertir un objeto a una cadena utilizando la función print_r, podemos proporcionar el objeto como el primer parámetro (valor que se imprimirá en la pantalla) y un verdadero booleano como el segundo parámetro.

La sintaxis de la función es como se muestra:

print_r (mixto $ valor, bool $ return);

Por defecto, el valor booleano se establece en falso. Si no se proporciona, la función print_r imprimirá el valor de la variable proporcionada.

Tomemos un ejemplo simple. Crearemos una clase de automóvil simple con dos variables: el nombre y el precio. Crearemos un constructor con el nombre y el precio como parámetros y las variables.

Finalmente, creamos un objeto de la clase de automóvil y les damos datos de muestra para el nombre y el precio. Para convertir el objeto en una cadena, usaremos la función print_r como se muestra en el ejemplo a continuación:

coche de clase
Nombre de $ protegido;
Price $ protegido;
función pública __construct ($ name, $ precio)
$ this-> name = $ name;
$ this-> precio = $ precio;


$ mycar = coche nuevo ("ford", 25000);
$ obj_str = print_r ($ mycar, true);
echo $ obj_str;
?>

Una vez que ejecute el ejemplo anterior, debería ver y emitir con el objetado convertido a una cadena.

Métodos mágicos PHP (_ToString ())

La segunda técnica que podemos usar para convertir un objeto a una cadena es la función _ToString (). Esta función se define como parte de la función mágica de PHP. La función _ToString () no acepta argumentos y tiene un valor de retorno de la cadena.

El siguiente ejemplo muestra cómo usar la función para devolver un objeto como una cadena.

coche de clase
Nombre privado $;
Precio privado $;
función pública __construct ($ name, $ precio)
$ this-> name = $ name;
$ this-> precio = $ precio;

función pública __ToString ()
devolver "modelo de auto $ this-> nombre. Precio $ this-> precio ";


$ mycar = auto nuevo ("ford", "25000");
Echo $ mycar;
?>

El ejemplo anterior es muy idéntico al anterior. Sin embargo, usamos el método __ToString para convertir el objeto en una cadena. La salida del ejemplo anterior es como se muestra:

Modelo de coche Ford. Precio 25000

Si elimina el método __ToString () e intenta ejecutar el comando anterior, debe ver un error como:

Error fatal de PHP: error no capturado: el objeto de la clase del automóvil no se pudo convertir en cadena.

Función PHP Serialize ()

Veamos ahora una forma más no convencional de convertir un objeto a una cadena. El método Serialize () convierte un valor especificado en un byte-stream. Esta función es adecuada cuando necesita almacenar una sesión. Usando la función Serialize (), podemos pasar el objeto y devolver una secuencia de bytes.

Un uso de ejemplo se puede mostrar en el código a continuación.

coche de clase
privado $ name = "ford";
privado $ precio = "25000 $";
función pública what_car ()
echo "modelo: $ this-> nombre y precio: $ this-> precio", "\ n";


$ mycar = auto nuevo;
$ mycar-> what_car ();
$ serialized = serialize ($ mycar);
Echo $ serializado;
?>

Una vez que ejecutamos el código anterior, el código debe devolver una cadena serializada como se muestra:

Modelo: Ford y Precio: 25000 $
O: 3: "coche": 2: s: 7: "*nombre"; s: 4: "ford"; s: 8: "*precio"; s: 6: "25000 $";

Clausura

Este tutorial le muestra varias formas de convertir un objeto en una cadena usando PHP. Tenga en cuenta que hay más en las funciones de lo que se discute en este tutorial. Mire en la documentación para obtener más información.