Verständnisproblem require -> require_once

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Verständnisproblem require -> require_once

    Ich habe ein Verständnisproblem bezüglich des Unterschiedes von

    require() und require_once()

    bei ersterem wird jedesmal eingebunden, bei letzterem nur dann wenn noch nicht im Speicher - so richtig?

    wo liegen nun die praktischen Konsequenzen daraus.

    Ich versuche eine Userverwaltung zu programieren und binde eine global.php mit require_once() ein. Es funktioniert mit jedem Befehl - soweit klar, aber ich bin mir nicht sicher ob ich nicht require() benutzen sollte.
    Hat die Wahl Auswirkungen auf das Verhalten bei vielen Usern und wenn ja nur im Speicherbereich oder auch in der Funktion der Site?

    Sprich blockieren sich denn User gegenseitig - oder so?

    Für Aufklärung wäre ich dankbar.

    Gruß
    Thomas
    Gruß
    Thomas Sebesta/Neunkirchen/Austria
    Entwicklergruppe dsfdb.org
    [color=blue](d)eutsche (s)peculativ (f)iction (d)aten(b)ank[/color]
    sourceforge.net/projects/dsfdb/

  • #2
    Neenee, so weit daß require_once() dateien in einen benutzerübergreifenden gemeinsamen Speicherbereich lädt, ist PHP noch nicht. Es geht nur darum, daß nur Dateien included werden, die im Laufe der Skriptbearbeitung nicht schon vorher included worden sind. Man spart sich damit halt bei komplexen Projekten die Überprüfung.

    http://de.php.net/manual/en/function.require-once.php

    Kommentar


    • #3
      Original geschrieben von pekka
      Man spart sich damit halt bei komplexen Projekten die Überprüfung.
      [/B]
      Kann ich dem entnehmen, dass ich mit der Verwendung von require_once() faktisch auf der sicheren Seite bin.
      Mit require() müßte ich faktisch überprüfen ob der Code bereits vorher irgendwann geladen wurde.
      Bei require_once() übernimmt das die Funktion und unterläßt bei Vorhandensein ein neuerliches laden.

      Gibt es Situationen, in der require() trotzdem die sinnvollere Variante ist?

      Gruß
      Thomas
      Gruß
      Thomas Sebesta/Neunkirchen/Austria
      Entwicklergruppe dsfdb.org
      [color=blue](d)eutsche (s)peculativ (f)iction (d)aten(b)ank[/color]
      sourceforge.net/projects/dsfdb/

      Kommentar


      • #4
        Gibt es Situationen, in der require() trotzdem die sinnvollere Variante ist?
        Japp - wenn man sauber programmiert, höhö. In einem perfekt strukturierten Code sollte der Fall, den die _once()-Funktionen verhindern, natürlich eigentlich gar nicht auftauchen. In diesem Sinne ist require_once() also eine Faulenzerfunktion, zu deren Gebrauch ich mich aber hiermit öffentlich bekenne, auch wenn ich von Goth dafür eine aufs Maul bekomme Gerade bei vielen includes oder requires, die nur unter bestimmten Bedingungen - z.B. User ist mit Berechtigungsstufe x eingeloggt - angewendet und Doppelincludes sehr schwer enttarnt werden können, kann require_once() einem den Arsch retten. So seh ich das jedenfalls, ein anderer sinnvoller Gebrauch der Funktion zeigt sich mir nicht.

        Kommentar


        • #5
          Also herzlichen Dank, jetzt ist mir die Sache schon klarer und meine Ängste vor unverstandenen Funktionen wieder ein wenig kleiner.

          Übrigens:
          ich kann Judo, wenn du Hilfe brauchst gegen Goth, jederzeit, eine Hand wäscht die andere. ;-)
          Gruß
          Thomas Sebesta/Neunkirchen/Austria
          Entwicklergruppe dsfdb.org
          [color=blue](d)eutsche (s)peculativ (f)iction (d)aten(b)ank[/color]
          sourceforge.net/projects/dsfdb/

          Kommentar

          Lädt...
          X