Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: require_once w funkcji
Forum PHP.pl > Forum > PHP
Kelo
Szukałem lecz nie znalazłem odpowiedzi na nurtujące mnie pytanie. Dajmy na to taki skrypt:
  1. function funkcja()
  2. {
  3. require_once('skrypt.php');
  4. }
  5. for($i=1;$i<10;$i++) {
  6. funkcja();
  7. }

I teraz moje pytanie: Czy skrypt "skrypt.php" będzie includowany do funkcji przy każdym jej wywołaniu czy może tylko przy pierwszym albo przy parsowaniu (hmm chyba niee biggrin.gif) pliku?
Zyx
Przy każdym wywołaniu. Przecież to w minutę można samemu sprawdzić, dając po prostu echo do takiego pliku...

--poprawka--
To, co napisałem, dotyczy require. Sorry za pomyłkę. Niemniej i tak to dalej można sprawdzić w minutę.
cycofiasz
Tylko przy pierwszym wywołaniu funkcji.
everth
Przy czym chyba jest tak że jak dajesz require to parser zawsze dołącza dany plik (bez względu na to czy dana funkcja w ogóle będzie wywołana) a include tylko wtedy gdy rzeczywiście dochodzi do jej użycia. Gdzieś czytałem o takiej różnicy, skorygujcie mnie jeśli to bzdura.

@DOWN:
Dzięki.
greycoffey
Cytat(everth @ 13.03.2011, 19:20:30 ) *
Przy czym chyba jest tak że jak dajesz require to parser zawsze dołącza dany plik (bez względu na to czy dana funkcja w ogóle będzie wywołana) a include tylko wtedy gdy rzeczywiście dochodzi do jej użycia. Gdzieś czytałem o takiej różnicy, skorygujcie mnie jeśli to bzdura.

Bzdura. Manual - funkcja require.
Kod
require() is identical to include() except upon failure it will also produce a fatal E_COMPILE_ERROR level error. In other words, it will halt the script whereas include() only emits a warning (E_WARNING) which allows the script to continue.
mat-bi
Różnica to właśnie ilość dołączonych plików. Znaczy, require_once dołącza plik tylko raz, a require nie patrzy an to i dalej załą cza, nawet, jak już jest w pliku.


"The require_once() statement is identical to require() except PHP will check if the file has already been included, and if so, not include (require) it again. "

Manual nie boli biggrin.gif
mat-bi
Właśnie nie, chyba, ze mówimy o require, nie require_once
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.