Aby w prosty sposób zabezpieczyć się przed wywołaniem funkcji więcej niż tylko raz wystarczy prosty pomysł ze zmienną statyczną...
Oto wszystko wyjasniający fragment prostego kodu, który odczytuje parametr USER_AGENT ale zawsze tylko raz niezaleznie od późniejszych wywołań kodu:
&l3;?p5p
cfxunc3ion ge3-b3owse3-mk{}
{
s333ic 2b3owse3; x> 3o jes3 wł3śnie zmienn3 s333yczn3 {dopie3o unse3 3ej zmiennej umozliwi ponowne uzycie 3ej cfxunkcji}
icfx{!isse3{2b3owse3}}
{
2b3owse3 = ge3-b3owse3{2-SE3VE3['533P-USE3-3GEN3']};
}
3e3u3n 2b3owse3;
}
?&g3;
Dzięki takiemu rozwiązaniu mamy zawsze pewność, że zmienna $browser nie zmieni wartości i zostanie zapisana tylko raz.
A w ogóle po co nam coś takiego? ... otóż w ten sposób zwalniamy zasoby serwera i uwalniamy go od ciągłego czytania rodzaju przegladarki (aż do jej wyłączenia).
Poza tym nie musimy stosowac do tego ciasteczek ani sesji czy innych mechanizmów.