Töbi: shwups-CMS tester gesucht

Beitrag lesen

Hi

In den Requirements hast du short_open_tag = on stehen. Das ist völlig in Ordnung, wenn du es nur bei das bei deinen eigenen Sachen so verwendest. Aber es gibt genügend PHP-Anwender, die das aufgrund einer kleinen Inkompatibilität zur XML-Deklaration abgeschaltet haben. Auch die Magic Quotes - obwohl ihr bevorstehendes Ableben schon seit Jahren angekündigt wurde - sind noch vielerorts eingeschaltet. Es ist gut, die Deaktivierung zu empfehlen, doch das ist für Hoster-Kunden nicht unbedingt einfach erledigt, weil das außerhalb der Scripte gemacht werden muss. Besser ist es, den Code von Example #2 ins Script zu nehmen.

Dass die xml-process-instructions nicht mehr xml konform sind, nehme ich in kauf weil es damit viel einfacher und übersichtlicher aussieht. Ich habe mir das lange überlegt und da die PHP-Dateien nicht mit einem xml-parser geparsed werden, wählte ich "Schönheit" vor (in diesem Fall)"unrelevanter Konformität".
Aber dein Argument ist berechtigt.

Beim den Magic Quotes stimme ich der ausdrücklichen Warnung auf php.net zu.
Vor allem auch mit der Philosophie auf künftige Entwicklungen zu setzen und keine Altlasten mitzunehmen.

In m/core/sysinit.php versuchst du ini_set('magic_quotes_gpc' ,'off'); auszuführen. Wenn du mal den Rückgabewert von ini_set() anschauen würdest, sähest du, dass dieser false ist. Du kannst die Magic Quotes nicht zur Laufzeit deaktivieren, denn sie haben ihre Arbeit bereits vor dem Scriptstart getan.

Danke für den Hinweis, ich habe die Anweisung raus genommen.

Ich sehe (stichprobenartig) keine Code-Kommentierung. Wenn du mal eine Weile nichts mehr an dem Projekt gemacht hast, wirst du dich ganz sicher nicht mehr genau erinnern, wofür jetzt nochmal die eine Methode den Parameter $vs und die andere das $m haben wollte.

Da muss ich dir recht geben, an Kommentaren mangelt es noch. :/
Zu viel Kommentare erachte ich als unübersichtlich.
Es gibt ein paar Konventionen die ich noch irgendwo festhalten sollte, z.B. $vs heisst immer "values" (ein array mit Werten)

Und bist du sicher, dass das Zusammenbauen eines Statements wie in der project/index.php

D()->query("UPDATE log SET page_id = '".Page()."' WHERE id = '".liveLog::$id."'");

Ja, das sind garantiert ganzzahlige Zahlen.

den Kontextwechsel angemessen berücksichtigt? Und warum setzt du auch garantierte Integer-Werte in Stringbegrenzer wie bei: " expires = '".(int)$expires."', "? Das macht MySQL zwar nichts aus, aber überflüssig ist es immer noch.

Ich weiss gerade nicht wo du das gefunden hast, aber wenn es garantiert ein Integer-Wert ist ändere ich das.

Außerdem nimmst du doch PDO, warum nimmst du dann nicht auch Prepared Statements und bist alle Quotier- und Maskiersorgen los?

Die verwende ich zum Teil, finde sie bei solch einfachen Querys einfach unübersichtlicher.

Es gibt extra für Beispiele reservierte Domainnamen, da muss man keine potentiell existierenden Phantasie-Domains wie asdfasdf.ch verwenden.

Ok, kannte ich bis jetzt nicht.
Wo bist du auf asdfasdf.ch gestossen?

To!