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 klasowyPo 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 klasowyPowyż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 25000Jeś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 klasowyPo uruchomieniu powyższego kodu kod powinien zwrócić serializowany ciąg, jak pokazano:
Model: Ford i cena: 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.