dedlfix: wie __destruct sinnvoll nutzen?

Beitrag lesen

Tach!

Doku liest doch keiner. Da steht sowieso nie das drin, was man wissen will ...
Ist das wirklich Dein Ernst? Da hatte ich Dich vollkommen anders eingeschätzt.

Programmierer-Doku ist manchmal ausführlicher. Ich bin eher gebranntes Kind bei Anwender-Doku. Da findet man nicht selten solche unbrauchbaren Dinger wie:

Eingabefeld Telefonnummer:
Geben Sie in dieses Feld die Telefonnummer ein.

Ganz großes Kino. Das ist eine "Im-Pflichtenheft-stand-Doku-also-schreiben-wir-zu-jedem-Feld-was"-Alibi-Doku. Als ob man nicht auch bereits anhand der Feldbezeichnung darauf gekommen wäre, was da einzugeben wäre. Ungeklärt geblieben sind dabei aber Fragen wie die nach dem Format (0123-456789 oder +49-123-456789 oder was ganz anderes) und vielleicht noch, wozu die Angabe benötigt wird, wie sie mit anderen Werten zusammenspielt.

Mein Destruktor schließt am Ende des Arbeitstages lediglich das Zeug vom Schreibtisch in den Schrank ein. Deiner aber nimmt vorher auch noch den Stapel der erzeugten Geschäftsbriefe, tütet sie in Umschläge, frankiert diese und legt sie in den Postausgang.
Nein, das tut er nicht :-)
Ich stelle fest, dass ich anscheinend kein guter Erklärbär bin...

Vielleicht hast du auch mein Beispiel nicht so verstanden, wie ich es meinte.

Da ich anscheinend arge Probleme habe, Programmtechnisches umgangssprachlich zu erklären, zeige ich Dir einfach mal den nicht ganz so stark vereinfachten Code.

Dem entnehme ich, dass der Destruktor genau das macht, was ich meinte. Er räumt nicht einfach nur die Arbeitsmittel weg sondern tütet entstandene Daten ein und versendet sie.

Vielleicht siehst Du dann, dass er im Endeffekt genau das tut, was Du vorgeschlagen hattest, nur anders verpackt:

Was ich da vorgeschlagen hatte war Teil des Arbeitsvorgangs und nicht Teil des Aufräumens.

Die Klasse log: (bedenke bitte, sie hat noch die Versionsnummer 0.0.2, ist also durchaus verbesserungswürdig! Zum Beispiel sind konkurrierende Zugriffe auf logfiles noch nicht bedacht...

Das Logfile ist die ganze Zeit offen und müsste damit alle anderen Prozesse blockieren. Du öffnest also den Postausgang und blockierst ihn für alle anderen. Oder in deinem Beispiel, du öffnest den Safe und hast tagsüber auch noch ein Sicherheitsproblem geschaffen. (So schnell bekommen Beispiele Fußkrankheiten.) Vielleicht wirst du, um dieses Nebenläufigkeitsproblem zu lösen, wirklich auf meinen Vorschlag eingehen und jede Log-Zeile einzeln schreiben - was unter Umständen auch nicht so toll ist, und einen Dateihandlings-Overhead mit sich bringt, auch wenn der in der Funktion file_put_contents() versteckt ist.

Wir müssen das jetzt nicht weiter ausdehen, denn anscheinend kommen wir hier nicht auf einen grünen Zweig.

dedlfix.