Zazwyczaj jest wiele sposobów na wykonanie jednej rzeczy.
Skąd mam wiedzieć , czy wybrana metoda jest najbardziej optymalna?
Może na przykładzie jaki mnie męczy :
Piszę serwis na takim moim ubogim pseudo szablonie. Mam plik .tpl który przeszukuje sobie funkcja str_replace, a nastepnie echuje calość.
Co jest lepsze :
<?php $pokaz_glwona = str_replace('{form}',"<form name="dodaj_strone" method="POST" action="dodaj_wpis_p.php" enctype="multipart/form-data">",$pokaz_glwona ); $pokaz_glwona = str_replace('{anchor}',"<INPUT type="text" name="anchor" size="25" maxlength="100"/>" ,$pokaz_glwona ); $pokaz_glwona = str_replace('{url}',"<INPUT type="text" name="url" size="25" maxlength="100"/>" ,$pokaz_glwona ); $pokaz_glwona = str_replace('{mail}',"<INPUT type="text" name="mail" size="25" maxlength="100" onBlur="SprawdzMaila(this)" />" ,$pokaz_glwona ); $pokaz_glwona = str_replace('{opis}',"<TEXTAREA name="opis" rows="10" cols="35"></TEXTAREA>" ,$pokaz_glwona ); $pokaz_glwona = str_replace('{button}', "<INPUT type="button" name="dodaj_wpis" value="Dodaj wpis" onclick="CzyPelne(this)"></form>",$pokaz_glwona ); $pokaz_glwona = str_replace('{gdzie}', "<select name="gdzie"><option value="0">Wybierz</option>".$gdzie."</select>",$pokaz_glwona ); ?>
Czy :
<?php $form = "<form name="dodaj_strone" method="POST" action="dodaj_wpis_p.php" enctype="multipart/form-data">"; $anchor = "<INPUT type="text" name="anchor" size="25" maxlength="100"/>"; $url = "<INPUT type="text" name="url" size="25" maxlength="100"/>"; $opis = "<TEXTAREA name="opis" rows="10" cols="35"></TEXTAREA>"; $button ="<INPUT type="button" name="dodaj_wpis" value="Dodaj wpis" onclick="CzyPelne(this)"></form>"; $gdzie_t = "<select name="gdzie"><option value="0">Wybierz</option>".$gdzie."</select>"; '{form}', '{anchor}', '{url}', '{mail}', '{opis}', '{zdjecie}', '{button}', '{gdzie}' ); $form, $anchor, $url, $mail, $opis, $zdjecie, $button, $gdzie_t ); ?>
czy też może, zmienne jak powyżej tylko :
<?php $trans = array('{form}' => $form, '{anchor}' => $anchor, '{url}' => $url , '{mail}' => $mail, '{opis}'=>$opis, '{zdjecie}'=>$zdjecie, '{button}'=>$button, '{gdzie}'=>$gdzie_t); ?>
Gdzieś na forum wyczytałem, że należy daną funkcje wrzucić w pętle i porównać wyniki.
Dla wszystkich trzech opcji przy 100 powtórzeniach otrzymałem ok 19 sek. - były wahania, ale dla wszystkich trzech metod czas generowania był praktycznie taki sam.
Gdzieś na forum było że najlepiej zapakować to do tablicy i tylko raz wywołać funkcję str_replace - to jest niby najwydajniejsza opcja, ale dlaczego?? czym kierujecie się przy wyborze metody rozwiązania danego problemu?
Prosiłbym o jakąś bardziej ogólną wypowiedź nie tylko dotyczącą tego przykłądu.
pozdrawiam