Hallo,
habe das Script nicht getestet, daher kann ich keine Aussage zu den Warnungen geben.
Bin nur mal über den Code drüber geflogen und muss da Felix in allen Punkt recht geben.
Gerade der Punkt Dokumentation fehlt komplett. Zumal auch deine Variablen gerade bei den Funktionen immer $x, $y heissen.
Hier mal am Beispiel der doch kurzen Funktion win_slashes()
Dein Original
PHP:
function win_slashes($x) {
global $ds;
if (strtoupper(substr(PHP_OS, 0, 3)) == "WIN") {
$y = $ds . $x;
} else {
$y = $x;
}
return $y;
}
Okay, $x ist der Wert an dem evtl. ein Slash vorgestellt wird. Das kann man noch aus der Länge der Funktion herauslesen.
Aber $ds dachte ich erst wäre DataSource oder sowas in der Richtung. Es ist aber nur eine Variable um die Konstante DIRECTORY_SEPARATOR zu halten (sinn?)
Hier wie ich es vielleicht machen würde
PHP:
/**
* Prepend a slash to the given path if it's a WIN machine
*
* @param string $sPath a file system path
* @return string with a prepended slash if its a WIN server
*/
function win_slashes($sPath) {
return DIRECTORY_SEPARATOR == '\\' ? DIRECTORY_SEPARATOR.$sPath : $sPath:
}
Ist jetzt nur ein Beispiel von meiner Seite.
Was ich aber damit zeigen möchte, das vor der Funktion beschrieben steht, was macht die Funktion und über phpDOC Tags die Parameter und der Rückgabewert beschrieben werden.
Zudem habe ich $x gegen das getauscht, was dort bearbeitet wird $sPath. Das "s" deutet an, hier soll in der Variable ein String stehen und "Path" das der Inhalt eine Pfadangabe ist.
Das $ds habe ich komplett rausgenommen und direkt mit der Konstante gearbeitet.
Um das nur nochmal deutlich herauszustellen:
Ich möchte deine Arbeit nicht schlecht reden oder es "vernichtend" beurteilen. Es sind wirklich nur Anregungen, wie man es vielleicht besser machen kann (aus meiner Sicht).
Habe es wir oben gesagt nicht getestet, vielleicht ist da echt eine gute Umsetzung dabei, aber die unübersichtlichkeit...
Um dann mein Posting doch positiv abzuschliessen:
Ein Code, auf dem man auf jeden Fall gut aufbauen kann und Verbesserungen einbringen kann.
Das war es erstmal,
Gruss