Konwertuj obiekt na ciąg PHP

Konwertuj obiekt na ciąg PHP
W przypadku dowolnego sprzeciwu zorientowanego języka programowania koncepcje obiektów i strun są podstawowymi blokami składowymi. PHP opiera się na obiektach i strunach, aby zapewnić elastyczność i funkcje. W tym artykule omówiono sposób konwersji obiektu PHP na ciąg przy użyciu różnych metod.

Za pomocą funkcji print_r ()

Pierwszą techniką, której możemy użyć do konwersji obiektu na ciąg, jest funkcja print_r. Funkcja przyjmuje wartość do wydrukowania i parametru zwrotu. Parametr powrotu to wartość logiczna.

Na przykład, aby przekonwertować obiekt na ciąg za pomocą funkcji drukuj_.

Składnia funkcji jest jak pokazana:

print_r (mieszana wartość $, bool $ return);

Domyślnie wartość logiczna jest ustawiona na false. Jeśli nie jest dostarczona, funkcja print_r wydrukuje wartość dostarczonej zmiennej.

Weźmy prosty przykład. Stworzymy prostą klasę samochodową z dwiema zmiennymi: nazwą i ceną. Utworzymy konstruktor o nazwie i cenie jako parametrach i zmiennych.

Na koniec tworzymy obiekt z klasy samochodowej i podajemy im przykładowe dane dla nazwy i ceny. Aby przekonwertować obiekt na ciąg, użyjemy funkcji print_r, jak pokazano w poniższym przykładzie:

samochód klasowy
chroniony $ nazwa;
chroniony cena $;
funkcja publiczna __Construct ($ name, $ cena)
$ this-> name = $ name;
$ this-> cena = $ cena;


$ myCar = nowy samochód („Ford”, 25000);
$ obj_str = print_r ($ myCar, true);
echo $ obj_str;
?>

Po uruchomieniu powyższego przykładu powinieneś zobaczyć i wyjść z obiektywem przekonwertowanym na ciąg.

PHP Magic Methods (_TOSTRING ())

Drugą techniką, której możemy użyć do konwersji obiektu na ciąg, jest funkcja _toString (). Ta funkcja jest zdefiniowana jako część funkcji magii PHP. Funkcja _ToString () nie akceptuje żadnych argumentów i ma wartość zwracaną ciągu.

Poniższy przykład pokazuje, jak używać funkcji do zwrócenia obiektu jako ciągu.

samochód klasowy
Prywatna nazwa $;
prywatna cena $;
funkcja publiczna __Construct ($ name, $ cena)
$ this-> name = $ name;
$ this-> cena = $ cena;

Funkcja publiczna __toString ()
return „Model samochodu $ this-> nazwa. Cena $ to-> cena ";


$ myCar = nowy samochód („Ford”, „25000”);
Echo $ mycar;
?>

Powyższy przykład jest ściśle identyczny z poprzednim. Używamy jednak metody __toString do konwersji obiektu na ciąg. Wyjście powyższego przykładu jest jak pokazano:

Model samochodowy Ford. Cena 25000

Jeśli usuniesz metodę __ToString () i spróbujesz uruchomić polecenie powyżej, powinieneś zobaczyć błąd jako:

Błąd fatalny PHP: Błąd nieokreślony: Obiekt samochodu klasowego nie można było przekonwertować na ciąg.

Funkcja PHP serialize ()

Spójrzmy teraz na bardziej niekonwencjonalny sposób konwersji obiektu na ciąg. Metoda serializ () przekształca określoną wartość na strumień bajtów. Ta funkcja jest właściwa, gdy trzeba przechowywać sesję. Korzystając z funkcji serialize (), możemy przekazać obiekt i zwrócić sekwencję bajtów.

Przykładowe użycie można pokazać w poniższym kodzie.

samochód klasowy
private $ name = "ford";
prywatny $ price = "25000 $";
funkcja publiczna, która_car ()
echo "Model: $ this-> nazwa i cena: $ this-> cena", "\ n";


$ myCar = nowy samochód;
$ mycar-> what_car ();
$ serialized = serialize ($ mycar);
echo $ serializowane;
?>

Po uruchomieniu powyższego kodu kod powinien zwrócić serializowany ciąg, jak pokazano:

Model: Ford i cena: 25000 $
O: 3: „samochód”: 2: s: 7: „*name”; s: 4: „ford”; s: 8: „*cena”; s: 6: „25000 $”;

Zamknięcie

Ten samouczek pokazuje różne sposoby konwersji obiektu na ciąg za pomocą PHP. Pamiętaj, że w tym samouczku ma coś więcej niż omówione. Spójrz w dokumentację, aby dowiedzieć się więcej.