Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Więcej echo czy większa zmienna?
Forum PHP.pl > Forum > PHP
lukasamd
Witam,
zrobiłem sobie moduł statystyk serwisu do systemu CMS, mam jednak pewne pytanie - do tej pory skrypt działał tak, że sprawdzał cyz coś ma być wyświetlone, jeżeli tak to wykonywał zapytanie i wyświetlał np:

  1. <?php
  2. if ($settings['1'] == 1){
  3. $users = dbquery("SELECT count(user_id) FROM ".$db_prefix."users");
  4. if(dbresult($users, 0) != 0) echo ('<tr class=tbl1-down><td class=align=left>'.$locale['ms_201'].'</td><td align=right>'.dbresult($users, 0).'</td></tr>');
  5. }
  6. ?>


Zastanawiałem się jednak czy wywoływanie funkcji echo grubo ponad 100 razy podczas jednego wywołania skryptu ma sens, uznałem że chyba lepsze będzie coś takiego:

  1. <?php
  2. if ($settings['1'] == 1){
  3. $users = dbquery("SELECT count(user_id) FROM ".$db_prefix."users");
  4. if(dbresult($users, 0) != 0) $statystyki.='<tr class=tbl1-down><td class=align=left>'.$locale['ms_201'].'</td><td align=right>'.dbresult($users, 0).'</td></tr>';
  5. }
  6. ?>


czyli po prostu najpierw zapisuję wszystkie pobrane dane do zmiennej a na samym końcu skryptu wszystko wyświetlam używając 1 wywołania funkcji echo.

Czy to jest dobre rozwiązanie? Nie wiem co bardziej obciąża - wiele wywołań jednej funkcji czy może robienie zmiennej która będzie dosyć zasobna. Może problem błachy, jeżeli strona ma mało odwiedzin ale i tak chcę wiedzieć co jest lepsze aby w przyszłości przy większych projektach nie popełniać drastycznych błędów winksmiley.jpg
l0ud
Jakby to ująć... przy większych projektach nie używa się w ogóle 'echo' w środku wykonywania skryptu, tylko stosuje system szablonów. Co do tego rozwiązania, nie, nic nie przyspieszysz, co najwyżej zwiększysz minimalnie zużycie pamięci.

Pozdrawiam
nevt
ogólnie - mniej echo / print - lepiej ...
jedna sprawa to kwestia wydajności ... (100 podstawień do zmiennej jest wydajniejsze od 100 wywołań funkcji) ...
poza tym możesz końcowy wnik przepuszczać jednokrotnie przez różne funkcje formatujące, bez zmiennej musiałbyś każdorazowo formatować każde echo / print - co też jest mało wydajne...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.