![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 4.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Czy dobrze rozumiem, że:
Kod if (warunek) include(plik); nie spowoduje odczytania pliku, jeśli warunek nie zajdzie? Czy może jednak i tak wczyta cały tekst z pliku, dołączy do kodu i po prostu go nie wykona. Mam dużo includów w kodzie i mało wydajnie by było, jeśli czytałby wszystkie pliki a i tak nic nie wykonywał. Ale jeśli dobrze myślę, to include to zwykła funkcja, więc jeśli warunek nie zachodzi, to nawet nie bierze pod uwagę wykonania tej funkcji i dołączenia kodu. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 165 Pomógł: 9 Dołączył: 9.04.2002 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
Tak, dobrze myślisz, jeśi warunek się nie wykona to nie zostanie wczytany plik.
Łukasz -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 324 Pomógł: 5 Dołączył: 14.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
Jezeli warunek nie bedzie spelniony, to pominie wykonanie funkcji include.
-------------------- zmoderowano - rozmiar
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
wczyta tylko te, które spełniają warunki
swoją drogą powinieneś pomyśleć nad czymś elegantrzym ![]() -------------------- Zapraszam na mój php blog, tworzenie stron.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 4.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
wczyta tylko te, które spełniają warunki swoją drogą powinieneś pomyśleć nad czymś elegantrzym ![]() W jakim sensie niezdrowo? Że kod zagmatwany, czy nie jest to najwydajniejszy sposób? Ja mam 100 plików do includowania a za jednym wykonaniem skryptu jedynie kilka spełnia warunki. Poza tym muszę includować, bo tak jeden plik php miałby 6000 linii kodu ![]() No chyba, że da się to zrobić jakoś inaczej, nie wiem, obiektowo, czy coś... Ale jeśli chodzi tylko o spoób zapisu, to mi odpowiada i łapię się w tym na razie. EDIT ::: 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(). Jednakże, jeśli linia, w której pojawia się require() nie zostaje wykonana, zawartość pliku wczytywanego też nie zostaje wykonana. Podobnie, instrukcje pętli nie wpływają na działanie require(). Chociaż kod zawarty w pliku docelowy wciąż jest podmiotem pętli, require() działa tylko raz. Cytat z manuala. Nie ma nic odnośnie include, ale to przecież to samo, tylko różnią się typem zwracanego błędu. I co Wy na to? Ten post edytował El Wieczor 2.06.2007, 16:35:16 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 675 Pomógł: 15 Dołączył: 7.11.2004 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Cytat z manuala. Nie ma nic odnośnie include, ale to przecież to samo, tylko różnią się typem zwracanego błędu. No nie do końca masz rację (manual):Cytat Instrukcje require() i include() są identyczne w każdym szczególe, z wyjątkiem obsługi błędów. W razie niepowodzenia, include() generuje ostrzeżenie (Warning), podczas gdy require() generuje błąd krytyczny (Fatal Error). Innymi słowy, instrukcji require() używa się do wczytywania plików, które są niezbędne do działania skryptu i w przypadku ich braku wykonywanie skryptu musi zostać przerwane. Instukcja include() nie zachowuje się w ten sposób. W jej przypadku, przy braku pliku wykonywanie skryptu będzie kontynuowane. Jak widzisz funkcje różnią się nie typem zwracanego błędu (jak napisałeś), a obsługą błędu... -------------------- Kto pyta, nie błądzi...
Kto zbłądził, ten pyta... |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 4.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
No o to mi chodziło
![]() Ale z wykonaniem include i require jest w takim razie tak samo? |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
Cytat Instrukcje require() i include() są identyczne w każdym szczególe, z wyjątkiem obsługi błędów. Wygląda na to, że tak. -------------------- "Sumienie mam czyste, bo nieużywane."
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 16:56 |