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.
function jakas() {
}
function jakas2() {
return 'byle co';
}
jakas();
$zmienna = jakas2();
header('Content-Type: text/html');
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."