Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]pobranie echo z funkcji do zmiennej
taro
post
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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
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.
  1. function jakas() {
  2. echo 'byle co';
  3. }
  4. function jakas2() {
  5. return 'byle co';
  6. }
  7. jakas();
  8. $zmienna = jakas2();
  9. header('Content-Type: text/html');
  10. echo $zmienna;

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."
Go to the top of the page
+Quote Post

Posty w temacie


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: 26.12.2025 - 23:08