Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Backslash przed explode
Forum PHP.pl > Forum > Przedszkole
sadistic_son
Cześć.
Natknąłem się w książce na taki zapis:
  1. $requestString = \explode("?", $request);

Co oznacza ten '\' przed explode?
nospor
No i tu wracamy do NAMESPACE ktore miales juz ogarnac wink.gif
\ sluzy do oddzelania czesci w NAMESPACE. jeden \ na samym poczatku oznacza glowny NAMESPACE
sadistic_son
Przeczytałem o namespace to co mi podesłałeć, plus parę innych opisów. To żadne rocket science, ot konieczne do rozróżnienia potencjalnie powtarzających się nazw klas.
Ale co ma namespace do funkcji explode ? Po co tutaj to zastosowanie? Przecież explode jest wbudowane w php, to nie jest żadna nazwa metody którą sami sobie wymyśleliśmy.
nospor
Temu wlasnie nie ma raczej sensu uzywanie \ przy standardowych funkcjach. Nie mniej jednak niektorzy uzywaja, na wypadek jakby ktos stworzyl lokalne explode. Bez sensu, ale od biedy ktos moze tak zrobic
sadistic_son
Ok, czyli podsumowując - tutaj jest to zbędne, ale nie zaszkodzi.
Dzięki.
nospor
Podejrzewam rowniez, ze uzycie \ jest minimalnie szybsze bo bez \ php wpierw pewnie szuka explode w lokalnym namespace a dopiero potem w globalnym. Roznica w czasie zapewne jednak nie do zauwazenia golym okiem wink.gif
sadistic_son
A widzisz, to przydatny hint na przyszłość, na okazję programowania portalu dla miliona użytkowników wink.gif Te parę mikrosekund może mieć jakieś znaczenie.
Salvation
Cytat(nospor @ 21.12.2022, 10:09:53 ) *
Podejrzewam rowniez, ze uzycie \ jest minimalnie szybsze bo bez \ php wpierw pewnie szuka explode w lokalnym namespace a dopiero potem w globalnym. Roznica w czasie zapewne jednak nie do zauwazenia golym okiem ;)

Zgadza się. Przy dużych klasach (głównie legacy pisane na kolanie) taki zapis jest optymalizacją.
Druga opcja, to po prostu użycie use'a z tą daną funkcją na górze pliku - wtedy interpreter zanim wczyta klasę już wie jakich funkcji i skąd się spodziewać.
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.