Hallo Tom,
Da bedaure ich bei PHP immer, dass es keine Marken gibt:
(odser vielleicht habe ich sie auch nur noch nicht gefunden?)
Es gibt einen inoffiziellen Patch für PHP 5.1 (http://pecl.org/patches/opcode_goto_5.1.0.diff), der jedoch nie weiterentwickelt wurde und deswegen mit PHP 5.2 nicht so ohne weiteres funktioniert. Zudem wird man damit inkompatibel zum Rest der PHP-Welt.
Siehe: http://news.php.net/php.internals/11599
Wenn der E- und der V-Teil des Scriptes beendet sind und man zur Ausgabe schreiten will, einfach ein "GOTO HTML" in den Code... das würde mir schon gut gefallen ;-))
Da gibt es sehr viele Alternativen, bspw. mit Exceptions:
class MySoftwareError extends Exception {}
try {
// hier das normale script
// ...
// oh, hier ist ein fehler
if ($fehler) {
throw new MySoftwareError (...);
}
// weiter im code
} catch (MySoftwareError $e) {
// hier den fehler ausgeben, infos sind in $e zu finden
}
Das hat im Vergleich zu goto sogar den Vorteil, dass Du in Funktionen oder Methoden diese Exception werfen kannst, d.h. dort direkt "rausspringen" kannst.
Viele Grüße,
Christian