Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 58 Pomógł: 5 Dołączył: 12.12.2008 Ostrzeżenie: (0%)
|
Witam.
Witam. Mam taki problem. Załóżmy, że mam sobie taką funkcję function wyswietl() { echo "2"; echo "+"; echo "2"; } następnie chciałbym to co zostanie wyświetlone przy użyciu tej funkcji wrzucić jakoś do zmiennej, czyli coś w stylu $zmienna = wyswietl(); // to oczywiscie glupi przyklad (IMG:style_emoticons/default/wink.gif) Teraz $zmienna żeby zawierała "2+2". Jak to można mądrze zrobić, bo mam jakieś zaćmienie umysłu. Dzięki. Pozdrawiam. |
|
|
|
![]() |
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 |
Mackos. To co postulujesz, czyli funkcja wyświetla dane poprzez echo to klasyczny przykład tego co robią amatorzy i początkujący. Wyświetlać powinna tylko i wyłącznie funkcja do tego przewidziana, a więc tak zwany widok aplikacji. Każda inna powinna zwracać wartość, gdyż może to prowadzić do nieoczekiwanych sytuacji. Potem pojawia się codziennie na forum problem z nagłówkami, bo ktoś nie myśli o konsekwencjach tego co robi i w efekcie zanim nagłówki zostaną do przeglądarki wysłane, jakaś głupia funkcja wali coś do bufora, bo zamiast użyć return, ktoś użył echo. Echo powinno być użyte w sposób świadomy, a nie gdzie popadnie.
Niby różnica niewielka, ale w wielu przypadkach pozwala uniknąć wielu głupich i prostych błędów, takie jak choćby z wspomnianymi nagłówkami. Dlatego przyłączam do tego co napisał drPayton: "Nie ucz początkujących złych praktyk." |
|
|
|
taro [PHP]pobranie echo z funkcji do zmiennej 11.06.2011, 13:50:25
drPayton [PHP] pobierz, plaintext function wyswietl(... 11.06.2011, 13:54:27
Mackos Funkcja może wyświetlać co się da poprzez echo, je... 11.06.2011, 13:55:34
drPayton Powtórzę, bo może niezbyt wyraźnei napisałem:
Funk... 11.06.2011, 14:02:14
taro To, żeby zrobić return to ja wiem, jeżeli chodzi z... 11.06.2011, 14:24:13
aachi Może przy pomocy Output Buffering Control?
ob_star... 11.06.2011, 14:35:52 
drPayton Cytat(taro @ 11.06.2011, 15:24:13 ) (... 11.06.2011, 14:42:23
thek Czemu więc nie zrobisz tak jak napisałem wyżej?
[P... 11.06.2011, 14:38:15 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 23:08 |