Seite 1 von 1

wozu 2 mal beenden?

Verfasst: 11.02.2007 11:58
von localhost
ich nutze in meinem forum den categories hirachie mod und mir ist aufgefallen, dass in allen dateien im includes ordner (also ich meine alle Definierungen von den Klassen) steht

Code: Alles auswählen

if ( !defined('IN_PHPBB') )
{
	die('Hacking attempt');
	exit;
}
aber wozu die() und exit nutzen?
nach die wird das script doch sowieso beendet, aber der autor des categories hirachie mods wird das doch nicht ohne grund gemacht haben




p.s. ich wusste jetzt nicht genau in welches forum ich das hier posten soll, das passt irgendwie nirgendwo hinein, wenn einem supporter oder admin ein besserer bereich einfällt, einfach verschieben :wink:

Verfasst: 11.02.2007 12:07
von Olli Oberhausen
php.net hat geschrieben:die doesn't prevent destructors from being run, so the script doesn't exit immediately, it still goes through cleanup routines.
Klingt komisch, ist aber so ;o)

Olli

Re: wozu 2 mal beenden?

Verfasst: 11.02.2007 12:24
von YoshiOWL
localhost hat geschrieben:ich nutze in meinem forum den categories hirachie mod und mir ist aufgefallen, dass in allen dateien im includes ordner (also ich meine alle Definierungen von den Klassen) steht

Code: Alles auswählen

if ( !defined('IN_PHPBB') )
{
	die('Hacking attempt');
	exit;
}
aber wozu die() und exit nutzen?
nach die wird das script doch sowieso beendet, aber der autor des categories hirachie mods wird das doch nicht ohne grund gemacht haben




p.s. ich wusste jetzt nicht genau in welches forum ich das hier posten soll, das passt irgendwie nirgendwo hinein, wenn einem supporter oder admin ein besserer bereich einfällt, einfach verschieben :wink:
Es ist richtig, das "DIE" oder "EXIT/EXIT()/EXIT($myvar)" Den Scriptablauf beenden.
Bei der Funktion "DIE" wird dabei der angegebene Text sowie eine Meldung von PHP ausgegeben.

Die Entwickler von PHP raten aber dazu, Nach dem "DIE" auch vorhergehende Funktionen z.B. (fopen, auch mit fclose) zu beenden.

Code: Alles auswählen

<?php
$file = 'test';
$file_name = fopen ($file, 'r')
   or die ("konnte Datei $file nicht öffnen");
fclose($file)
?>
Begründung!
1.) könnte es in einer Späteren Version auch die möglichkeit geben, nach einem "DIE" wieder ins Script zurück zu springen.
2.) Ist es einfach auch guter Stil, die Funktionen/Prozeduren auch immer im ganzen (Vollständig) zu schreiben.