![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 2 Dołączył: 1.08.2009 Skąd: Katowice, Rybnik Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Średnio potrafię znaleźć interesujące mnie informacje na temat metody __toString() Metodę __toString() wykorzystujemy w nowszym czy starszym PHP? Zdarzyło mi się tak, że przekazywanie obiektu do sesji bez problemu działa na jednym hostingu.. a na drugim już nie. Na jednym i drugim znajduję się PHP 5.2.10.. Od czego to zależy? Jeżeli zależy to od jakieś konfiguracji czy jakiegoś modułu.. to która instalacja PHP jest poprawna? Ta, która nakazuje wykorzystanie metody __toString() czy tak, która w sposób automatyczny przekształca obiekt w string? Chodzi mi tutaj głównie o nawyki poprawnego programowania w PHP. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Czuję się wezwany do tablicy przez cojacka i streszczę mój post poprzedni jeśli zagmatwałem. __toString to po prostu funkcja specjalna reagująca na wywołanie obiektu w kontekście stringa (czyli -> echo $a)
Rzucę szerszym przykładem, by pokazać dokładniej działanie skoro napisałem masło maślane (IMG:style_emoticons/default/winksmiley.jpg) Zastosowania tego nie widać może od razu, ale przydaje się przy pisaniu własnego CMS w MVC, gdzie widok śmiało może być obiektem i przez to wysłany być do przeglądarki jako część większego widoku. Jeśli więc masz cały layout jako choćby lewe - centrum - prawe to możesz zrobić tak:
Co to da? Wstawi ankietę i nawigację jako jeden string wysłany do widoku lewe (IMG:style_emoticons/default/smile.gif) To banalny sposób na dołączanie różnych paneli dynamicznie w CMS, bo możesz każdy element dynamicznie "wrzucać" do różnych miejsc na stronie. Obłóż to JS (drag & drop) lub zaplanuj panel edycji elementów i każdy user może sobie sam layout strony ustawić oraz włączać i wyłączać potrzebne panele. Ten post edytował thek 13.10.2009, 14:11:43 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 20:00 |