Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> require_once w funkcji
Kelo
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 13.03.2011

Ostrzeżenie: (0%)
-----


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 (IMG:style_emoticons/default/biggrin.gif) ) pliku?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Zyx
post
Post #2





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

Ostrzeżenie: (0%)
-----


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ę.

Ten post edytował Zyx 13.03.2011, 19:34:08
Go to the top of the page
+Quote Post
cycofiasz
post
Post #3





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Tylko przy pierwszym wywołaniu funkcji.
Go to the top of the page
+Quote Post
everth
post
Post #4





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

Ostrzeżenie: (0%)
-----


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.

Ten post edytował everth 13.03.2011, 19:59:24
Go to the top of the page
+Quote Post
greycoffey
post
Post #5





Grupa: Zarejestrowani
Postów: 320
Pomógł: 29
Dołączył: 3.04.2010

Ostrzeżenie: (20%)
X----


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.
Go to the top of the page
+Quote Post
mat-bi
post
Post #6





Grupa: Zarejestrowani
Postów: 690
Pomógł: 92
Dołączył: 6.02.2011

Ostrzeżenie: (0%)
-----


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 (IMG:style_emoticons/default/biggrin.gif)

Ten post edytował mat-bi 13.03.2011, 19:36:13
Go to the top of the page
+Quote Post
mat-bi
post
Post #7





Grupa: Zarejestrowani
Postów: 690
Pomógł: 92
Dołączył: 6.02.2011

Ostrzeżenie: (0%)
-----


Właśnie nie, chyba, ze mówimy o require, nie require_once
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 20:44