Return und Include vertragen sich nicht ?

Hallo,

bitte haltet mich nicht für ganz blöd, aber ich glaube zur Zeit stehe ich gerade mächtig auf der Leitung:

Ich habe 2 Skripte. Im ersten Skript wird das zweite Skript per „Include_once“ eingebunden. Weil dort steht einfach eine Menge Code, welcher immer wieder verwendet wird.
Jetzt möchte ich, wenn das 2. Skript einen Fehler erkennt, das Hauptskript terminieren. Ich dachte naiv: Es wird doch nur der Code vom 2. Skript in das erste beim Aufruf „reinkopiert“. Also einfach im 2. Skript im Fehlerfall ein „return“ aufrufen. Das überspringt aber nur den restlichen Code im zweiten Skript. Das erste läuft weiter.

Ein Beispiel:

	include_once("Temp2.ips.php");


	echo "Das ist das Script
";



Temp2.ips.php:


	echo "Das ist das Includefile
";
	return;


–> Es werden beide echos ausgegeben:eek:

Hat jemand eine Idee? Was mache ich falsch?

return beendet ne funktion
hast es mal mit die oder so probiert?

Danke snOOpy,

mit „die“ geht’s

Viele Grüße
Rubberduck

PHP Doku: PHP: return - Manual

If called from the global scope, then execution of the current script file is ended. If the current script file was include()ed or require()ed, then control is passed back to the calling file. Furthermore, if the current script file was include()ed, then the value given to return() will be returned as the value of the include() call. If return() is called from within the main script file, then script execution ends.

Sowas soll also gehen


if(!include("i.php"))
 return;

echo "Main";


echo "Include...";
return false;

paresy

Danke Paresy,

so ist es auf alle Fälle besser und funktioniert einwandfrei.
„DIE“ markiert das Skript im Objektbaum als fehlerhaft.
Mir war nicht bewusst, dass include nicht nur „dumm“ den Code einfügt sondern eine Mischung zwischen Functioncall und copy&paste ist:o.