dedlfix: Menue in Homepage funktioniert nicht mehr

Beitrag lesen

Hi!

Wieso sollten sich ein Array-Element und eine Variable in die Quere kommen?
Für PHP kommen die sich nicht in die Quere. Aber für den Programmierer, und diejenigen anderen, die den Code lesen. Wie gesagt, früher oder später wirds passieren. Am Argument, Variablen eindeutig zu kennzeichnen, gibt es aber nichts zu rütteln ;)

Wer $foo nicht von $array['foo'] unterscheiden kann, sollte sich überlegen, ob er nicht mit einem anderen Hobby glücklicher wäre.

Variablen eindeutig zu kennzeichnen, heißt nicht, weil sich der Name mit irgendeinem anderen Wert beißt, sich einen anderen Namen auszudenken, der den Sinn der Variablen nicht mehr verständlich beschreibt. Nicht zu jedem Wort gibt es ausreichend und exakt gleichwertige Synonyme.

Üblicherweise gibt es ja ein Test- und ein Produktivsystem, da sollten solche absoluten Pfadangaben nichts zu suchen haben. Aber nicht nur im Dateisystem, sondern auch, wenn man mal den Server wechselt/wechseln muss.

Nochmal: Es gibt (übertrieben gesagt) kein Gesetz, dass absolute Pfadangaben verbietet. Sie haben in einigen Fällen ihren Sinn, in anderen sind sie hinderlich. Das sollte man individuell entscheiden und sich nicht aus Prinzip auf eine Art festlegen. Denn dann besteht eher die Gefahr, dass man sich wegen seines Prinzips eine schlechtere Lösung implementiert als wenn man alle möglichen Varianten fallabhängig gegeneinander abwägt.

Natürlich kann man, auch wenn sie sich zwischen Test- und Produktivsystem unterscheiden, absolute Pfadangaben verwenden, wenn dafür ein Bedarf besteht. Eine Konstante oder eine Variable, die am Scriptanfang je nach vorliegendem System gesetzt wird, kann dabei hilfreich sein.

define('ROOT', $_SERVER['SERVER_NAME'] == 'test.example.com' ? '/test/...' : '/produktiv/...');

Auch im HTTP-Umfeld kommt man manchmal nur schwerlich an absoluten Pfadangaben vorbei, besonders wenn man benutzerfreundliche URLs mit unterschiedlich vielen / drin verwendet und auf festliegende Ressourcen verweisen will. Das kann man natürlich relativ machen, aber die Anzahl der ../ passend auszurechnen, ist aufwendiger als ein absoluter Pfad.

Lo!