dedlfix: HTTP-Cache

Beitrag lesen

echo $begrüßung;

Du meinst so? HTTPCache::get($url);

Ja.

Die Klasse HTTPCacheDB ist im Prinzip allein nicht lebensfähig.
Ja, das ist Absicht. Sie macht auch allein wenig Sinn.

Vielleicht war das etwas falsch ausgedrückt. Es kommt nicht darauf an, ob eine Klasse nur eine Hilfsaufgabe oder ob sie eine Hauptaufgabe erledigen soll. Eine Klasse, die sich um das Resultat einer Datenbank-Abfrage kümmert oder einen einzelnen Datensatz aus der Abfragemenge darstellt, ist ohne die Klasse für das eigentliche Datenbankhandling nicht besonders sinnvoll. Sie soll aber möglichst selbständig die Aufgabe erledigen, für die sie zuständig ist. Wenn sie aber von etwas abhängig ist, dass erst in einem Erben bereitgestellt wird, dann ist da was nicht richtig. Der Erbe kann gern die vorhandene Funktionalität nutzen und seinerseit neue bereitstellen, darf aber nicht lebensnotwendig für den Vorfahren sein.

PHP ist da, wie gesagt, tolerant. Compiler anderer Sprachen würden sich beim Compiliervorgang über Zugriffe auf nicht deklarierte Variablen beklagen und ihre Arbeit einstellen.

Nein, ich wollte eigentlich Die Verarbeitung von HTTP-Anfragen von der Datenbank trennen, damit man z.B. die Datenbank durch ein DBMS ersetzen kann.,

Soweit löblich, aber siehe oben.

Das mit dem trigger_error ist auch mehr zu Debugging-Zwecken, ich kommentiere das jetzt mal aus. Außerdem sollten in Produktiv-Systemen die Fehler geloggt und nicht ausgegeben werden.

Dem zweiten Satz stimme ich zu.
Neben dem bedingungslosen Auswerfen der Meldung gibt es noch die "MySQL-Methode". Die Funktionen geben ein Ergebnis oder aber false im Fehlerfall zurück. Den Meldungstext (und auch eine eindeutige Nummer, die die Art des Fehlers auswertbar angibt), kann man sich im Bedarfsfall über spezielle Funktionen abholen. Um an die Fehlermeldung zu gelangen muss diese also im Hauptprogramm abgefragt werden. Das hat den Nebeneffekt, dass du damit auch gleich in das Hauptprogramm Code zur Auswertung des Fehlerstatus einbaust.
Ich habe die Befürchtung, dass du mit der trigger_error-Methode zwar Lösungen für alle im Labor angezeigten Fehler implementierst, dir dann sicher bist, alles Mögliche getan zu haben, jedoch in der freien Wildbahn wegen etwas unbeachtet gelassenem ungeschützt auf die Nase fällst.

echo "$verabschiedung $name";