kostenloser Webspace werbefrei: lima-city


include, include_once, require, require_once?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    m*******t

    hallo,
    ich wollte mal von euch wissen was ihr benützt, denn ich weiß nicht genau welches (include, include_once, require, require_once) ich benützen sollte. Die Unterschiede kenne ich und ich hab auch gehört das man bei klassen include_once oder require_once benützten sollte.
    Aber wie ist es eigl wenn man ein Script oder sonstiges mehrmals includet, dann benötigt doch der Server mehr Rechenzeit oder nicht?

    naja schreib einfach mal was ihr benützt.


    gruss

    Beitrag zuletzt geändert: 9.4.2009 14:10:38 von moonfight
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Das kommt ganz darauf an, wo ich includiere ;-)

    im Globalen Kontext: include_once bzw. require_once
    innerhalb einer Funktion: include bzw. require

    Weil nachdem die Funktion beendet ist ist die inkludierte Datei ehh weg ;-)

    Falls du PHP innerhalb von Typo3 benutzt und dein Script an mehreren Stellen zur gleichen Zeit aufgerufen wird, verwende immer include. Irgendwie verschluckt sich Typo3/PHP innerhalb seiner die() Funktion wenn man ein include_once macht. PHP behauptet dann es wurde schon includiert, aber drauf zugreifen kann man nicht ;-(

    Grüßle
  4. t****o

    include() ist im Gegensatz zu require() keine Funktion. Wenn hinten noch once dranhängt, dann wird die jeweilige Datei in dem Script (soweit ich weiß) nur ein mal (once) aufgerufen und eingebunden. Aber informier dich besser noch mal bei Google oder so!
    MfG
    telelo
  5. Der Unterschied zwischen include und require ist, dass im Fehlerfall bei include nur eine Fehlermeldung ausgegeben wird, aber bei require das Script abgebrochen wird.

    Und wenn _once dahinter gehängt wird, dann wird es ignoriert, falls die Datei schon eingebunden wurde.

    Also es kommt immer auf den Fall an und es sind nicht etwa 4 sinnlose, gleiche Funktionen.
  6. vampiresilence

    Kostenloser Webspace von vampiresilence

    vampiresilence hat kostenlosen Webspace.

    Die Funktion include() bindet eine Datei so oft ein, wie sie aufgerufen wird. require() hingegen bindet die selbe Datei nur beim ersten Aufruf ein, danach wird der Befehl ignoriert. Wozu die anderen Befehle gut sind, habe ich nie recht verstanden. Davon abgesehen ist ein include in den meisten Fällen sowieso durch einen Template-Aufruf ersetzt.

    Liebe Grüße
    - VampireSilence
  7. Autor dieses Themas

    m*******t

    hallo alle zusammen,
    eigentlich wusste ich ja schon was die unterschiede sind, mich hat eigentlich nur interressiert wann es sich lohnt welches zu benützten, einige tipps habt ihr ja schon genannt

    gruss
  8. t*****b

    vampiresilence schrieb:
    Die Funktion include() bindet eine Datei so oft ein, wie sie aufgerufen wird. require() hingegen bindet die selbe Datei nur beim ersten Aufruf ein, danach wird der Befehl ignoriert. Wozu die anderen Befehle gut sind, habe ich nie recht verstanden. Davon abgesehen ist ein include in den meisten Fällen sowieso durch einen Template-Aufruf ersetzt.


    Falsch.

    ..._once() bindet die Datei einmal ein. Ohne das _once wird die Datei beliebig oft eingebunden werden (dadurch können zum Beispiel Probleme mit Kassen, Funktion usw. auftreten (wiederholte dekleration)). Der Unterschied zwischen require(_once()) und include(_once()) besteht darin, dass das Script bei require agebrochen wird falls die Datei gefunden wird, bei include wird läuft das restliche Script dennoch ab.

    Also:
    require: Wird die Datei nicht gefunden, wird kein weiteres Script ausgeführt. Quasi Abbruch wenn die Datei nicht gefunden wird.
    include: Wird die Datei nicht gefunden, wird das Script trotzdem weiter ausgeführt.
    +..._once: Datei wird bei require als auch bei incude nur ein mal eingebunden, auch wenn man sie nochmals includieren will.

    ...once sollte man also verwenden, wenn zum Beispiel Klassen oder Funktionen eingefügt werden, dadurch verhindert man Fehler die bei Mehrfachdefinition auftreten.
    Include macht eigentlich nur Sinn, wenn man verschiedene Dinge mehrfach ausgeben möchte. Es macht schließlich keinen Sinn, mehrfach verschiedene Scripte aufzurufen, darum gibt es ja Funktionen.
    Require sollte man verwenden, wenn wichtige Aspekte verwendet werden, zum Beispiel eine Authoritätsüberprüfung wie zum Beispiel ein Login. Überprüft man zB in einer Datei die Benutzerdaten und gibt nur Content aus, wenn diese stimmen wird das Script bei include trotzdem ausgeführt wenn diese Datei gefunden wird und das stellt definitiv eine Sicherheitslücke dar (falls die Datei gelöscht wird). Ist aber nur ein Beispiel bei dem ich sagen würde, dass man hier auf jeden Fall require verwenden sollte.
  9. Autor dieses Themas

    m*******t

    DANKE! :thumb:
    ich denke, jetzt weiß ich wann sich was lohnt, nochmal danke an alle.

    gruss
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!