Ich möchte diesen kleinen Tutorial mal erklären, wie man eventuell die Entwicklung beziehungsweise Fehlersuche vereinfachen kann. Hierzu gibt es den PHP Befehl debug_backtrace(). Dieser hilft dabei, um den Ablauf einer Klasse zu verstehen. Wenn man debug_backtrace() an eine x-beliebige Stelle von einer Klasse schreibt, gibt diese PHP-Funktion ein assoziatives Array von: function, line, file, class, object, type und args zurück. Dadurch kann man sich etwa den aktuellen Wert von einem Objekt an einer bestimmten Stelle im Script ausgeben. Nachfolgend ein kleines Beispiel Classe, die die Fenster eines Haus erfasst.
Das Beispiel:
<?php
class haus
{
public $anzahl_fenster = '';
function fenster($anzahl_fenster) {
$this->anzahl_fenster = $anzahl_fenster;
var_dump(debug_backtrace());
}
}
$test = new haus;
$test->fenster('5');
?>
Ausgabe von debug_backtrace():
array(1) {
[0] =>
array(7) {
["file"] =>
string(62)
"D:/xampp/htdocs/restricted/php-space/texte/debug_backtrace.php"
["line"] =>
int(14)
["function"] =>
string(7) "fenster"
["class"] =>
string(4) "haus"
["object"] =>
object(haus)#1 (1) {
["anzahl_fenster"] =>
string(1) "5"
}
["type"] =>
string(2) "->"
["args"] =>
array(1) {
[0] =>
&string(1) "5"
}
}
}
Erklärung:
Es wird ein Objekt von der Classe "Haus" generiert. Über das Objekt wird die Funktion fenster() mit der Anzahl unserer Fenster übergeben. Wenn wir in der Entwicklung dieser Class wissen möchten, was in der Funktion fenster() passiert, geben wir mit debug_backtrace() und var_dump() den aktuellen Stand des Script Lauf aus. Dies kann manchmal recht nützlich sein, um zum Beispiel im sehr verschachtelten Scripten, die Werte von einem Objekt oder Zeilen sich ausgeben zu lassen.