| 

.NET C# Java Javascript Exception

3
Ich hab die Doku mindestens zehnmal gelesen und werde doch nicht schlau drauß. Kann mir das jemand erklären? Worin liegt der Unterschied?
17.04.2011
SanftMuth 31 1
2 Antworten
2
Require fuehrt das Script weiter aus wenn ein fehler im includierten skript passiert und erzeugt eben eine Warnung. Beim Inlude wird ein Fehler ausgegeben und die ausfuehrung des Skriptes unterbrochen.
Die jeweilige _once Version der befehle bindet eine Datei nur einmal ein auch wenn die datei in mehreren eingebunden Dateien includiert wird.

z.b. Datei a.php includiert b.php und c.php welche beide ihrerseits d.php includieren. beim einfachen include wuerde nun d.php 2mal in das ausgabeskript kopiert werden. wird jeweils mit include_once gearbeitet, erkennt PHP beim 2. Aufruf des include befehls, dass die datei schon in der ausgabe vorhanden ist und uebersprint weitere kopien. Was sich durchaus in der ausfuehrungsgeschwindigkeit bemerkbar machen sollte.
17.04.2011
csharp.dev 21 1
Ups, hab da was falsch im Kopf gehabt. Hab schon zu lange nix mehr in PHP gemacht. :-/
csharp.dev 18.04.2011
0
Ich muss csharp.dev hier wiedersprechen: require(_once) stoppt mit einem fatalen Fehler, während include(_once) nur eine Warnung ausgibt.
Ansonsten isses richtig: *_once bindet nur bei Bedarf ein.
//--------------
// a.php
echo "A\n";

//--------------
// b.php
echo "B\n";
$i = 23 / 0;

//--------------
// c.php
echo "C\n";
include("a.php");
require("a.php");
include_once("a.php");
require_once("a.php");

include("b.php");
require("b.php");

// Ausgabe:
C
A
A
B
WARNING:...
B
FATAL:...
18.04.2011
DaSpors 4,1k 1 8

Stelle deine Php-Frage jetzt!