dedlfix: oop in php

Beitrag lesen

Hi!

public function show_site ($arg1, $arg2, $arg3, $arg4, $arg5) {
$query = mysql_query("SELECT $arg2, $arg3, $arg4 FROM $arg1 WHERE $arg2 = '$arg5'");

Auch bei OOP-Programmierung ist eine Nichtbeachtung des Kontextwechsels ein Programmierfehler.

global $site, $headline, $content;

Warum verwendest du keine Objektvariablen sondern "normale"?

if ($query == true) {

Einen Ausdruck extra auf true zu testen ist unsinnig. Wenn er wahr ist, dann ist er das bereits. Er wird nicht wahrer, wenn man ihn noch einmal mit true vergleicht.

} else { show_text('red', 'Fehler beim einlesen.'); }

Aufgabe eines Daten abfragenden Teils ist es nicht, Fehlermeldungen auszugeben. Wenn ein Fehlerzustand eingetreten ist, muss man den Aufrufer informieren, aber nicht selbständig einfach einen Text in der Landschaft ablegen. Um Fehler an den Aufrufer zu melden, kann man Exceptions verwenden.

ich habe dieses beispiel kurz gehalten. aber ich möchte später lieber alles in ein array packen, weil die query's dann nicht nur drei daten ausgeben.

Gerade dann sollte man nicht extra ein Array aufbauen, dass in den meisten Fällen genau einmal ausgelesen wird. Besser ist es, einen Iterator zu implementieren, der erst bei dessen Aufruf das Fetchen erledigt (Das Iterator-Interface gibt es in der SPL).

Lo!