Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zamiana zmiennej obiektowej na ciąg ..szczegóły na dole
szypi1989
post
Post #1





Grupa: Zarejestrowani
Postów: 207
Pomógł: 0
Dołączył: 7.09.2010

Ostrzeżenie: (0%)
-----


Witam mam problem .Dla przykładu mam taki kod:
$media=Zend_Layout::startMvc();
echo 'to mój obiekt '.$media;

To normalne że wywali mi błąd.Ale ja bym chciał żeby zamienić $media na ciąg znaków i pokazało mi się na ekranie:

to mój obiekt:Zend_Layout::startMvc();


czy jest taka możliwość?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




W klasie obiektu, który otrzymujesz musisz zdefiniować metodę __toString która odpowiada za takie rzeczy.
Go to the top of the page
+Quote Post
szypi1989
post
Post #3





Grupa: Zarejestrowani
Postów: 207
Pomógł: 0
Dołączył: 7.09.2010

Ostrzeżenie: (0%)
-----


to jest mało użyteczne jeśli chodzi o moje pytanie.Nie wyśwetli mi nazwy metody .
próbowałem też zrobić coś w sposób

$media=(string) $media;

ale także nic nie daje
Go to the top of the page
+Quote Post
wookieb
post
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




1) To nie jest obiekt tylko wywołanie metody statycznej pewnej klasy
2) Nie zrobisz tego w ten sposób, poza tym po co Ci to?
Go to the top of the page
+Quote Post
fander
post
Post #5





Grupa: Zarejestrowani
Postów: 231
Pomógł: 22
Dołączył: 6.10.2008

Ostrzeżenie: (0%)
-----


jak już to coś takiego Zend_Layout::startMvc(); zwróci ci obiekt Zend_Layout a nie Zend_Layout::startMvc();, startMvc jak dobrze wiesz (przynajmniej powinieneś) to statyczna metoda klasy Zend_Layout.

Aby pobrać nazwę typ obiektu używamy get_class($obiekt)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 18:03