Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Include i require, różnice?
-Durian-
post
Post #1





Goście







Witam mam takie pytanie czy Include i require czymś się różniąquestionmark.gif (oprócz obsługi błędów??)

czy jak dam np.
  1. <?php
  2. if(COS){include "cos.php";}
  3. elseif(COS2){include "cos2.php";}
  4. ?>

a
  1. <?php
  2. if(COS){require "cos.php";}
  3. elseif(COS2){require "cos2.php";}
  4. ?>


bedzię różnica? bo wiem że require zawsze wczytuje plik niezależnie od tego czy warunek będzie spełniony czy nie ale czy tak samo postępuje include??
Powód edycji: dodalem tag (cysiaczek)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
drPayton
post
Post #2





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Cytat
require zawsze wczytuje plik niezależnie od tego czy warunek będzie spełniony

Że co proszę? Co Ty za herezje głosisz? blinksmiley.gif
Jedyną różnicą jest poziom generowanego błędu: [warning] dla include i [fatal error] dla require

Ten post edytował drPayton 10.11.2007, 12:19:11
Go to the top of the page
+Quote Post
-Durian-
post
Post #3





Goście







Notatka: Począwszy od PHP 4.0.2, zachowanie instrukcji jest następujące: require() będzie zawsze próbować odczytać plik docelowy, nawet jeśli linia w której ona się znajduje nigdy nie zostanie wykonana. Instrukcja warunkowa nie wpływa na działanie require()" title="Zobacz w manualu PHP" target="_manual
Go to the top of the page
+Quote Post
-Durian-
post
Post #4





Goście







ups zapomnialem zobaczyc jak wyglada [ manual] tongue.gif
ale to co dalem to pisze w manualu i teraz pytanie jesli dam
  1. <?php
  2. if(COS){include"cos.php";}
  3. ?>

to czy ten plik cos.php zostanie dodany?? jesli warunek nie zostanie spelniony?
Go to the top of the page
+Quote Post
drPayton
post
Post #5





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Przyznam szczerze, że nie do końca rozumiem ten tekst (być może chodzi o wczytanie do pamięci), natomiast jest w manualu również fragment:
  1. <?php
  2. // Ten kod jest NIEPOPRAWNY i nie zadziała zgodnie z oczekiwaniami.
  3. if ($warunek)
  4. include $plik;
  5. else
  6. include $inny;
  7.  
  8.  
  9. // Natomiast ten kod jest POPRAWNY.
  10. if ($warunek) {
  11. include $plik;
  12. } else {
  13. include $inny;
  14. }
  15. ?>

Prawdziwości którego to fragmentu za chiny boskie nie udało mi się potwierdzić...

edit: Nawet jeśli to co tam napisali jest prawdą (tam zdarzają się błędy winksmiley.jpg ), to i tak chodziłoby jedynie o wczytanie pliku do pamięci a nie o jego wykonanie. Innymi słowy - poza zabraniem serwerowi ciut pamięci nie zauważyłbyś, że ten plik został wczytany.
Niezależnie od tego można więc powiedzieć - NIE, nie zostanie dodany

Ten post edytował drPayton 10.11.2007, 12:29:33
Go to the top of the page
+Quote Post
Kreton
post
Post #6





Grupa: Zarejestrowani
Postów: 345
Pomógł: 3
Dołączył: 20.02.2005

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


Te funkcje znacznie obciążają system dlatego ich wyniki zapisywane są w pamięci podręcznej. W celu wielokrotengo wywołania tych funkcji odwołujących się do tego samego pliku musisz zastosować
Kod
clearstatcache()


Ten post edytował Kreton 10.11.2007, 16:46:47
Go to the top of the page
+Quote Post
bfcior
post
Post #7





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 14.11.2007

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


"Przy wykorzystaniu funkcji require(), plik zostanie zawsze wstawiony, nawet pomimo tego, że zostanie ona opatrzona jakimś warunkiem, a warunek ten, nie zostanie spełniony. Wobec tego, wstawianie require() w warunek if jest niepotzrebne, gdyż require zawsze, mimo FALSE (fałsz) się wykona. Odwrotnie jest w przypadku include(). Jeśli funkcja if zwróci FALSE , wówczas include() nie dołączy pliku do strony."
Go to the top of the page
+Quote Post
Kreton
post
Post #8





Grupa: Zarejestrowani
Postów: 345
Pomógł: 3
Dołączył: 20.02.2005

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


Po co odkopałeś takiego suchara ?
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 18:38