Moin!
»» »» hier nochmal als "abstrakte darstellung" :
»»
»» Wozu definierst du Konstanten, wenn du in Wirklichkein ein Array benötigst? Diese Vorgehensweise ist unsinnig.
was soll ich dazu noch sagen? :
"Ja, stimmt."
hier geht es nicht darum ob das vorgehen designtechnisch "john carmack"-like ist, sondern um eine GANZ OFFENSICHTLICHE php spezifische "problematik", die ich u.U. ja übersehen haben könnte. da der aufruf aus script1 ja funktioniert, aber aus script2 eben nicht. warum auch immer!
Das zu untersuchen liegt an dir. Mit Pseudocode wird dir nicht geholfen werden können, wenn der Pseudocode das Verhalten nicht zeigt.
Hast du das also nachgeprüft?
und ob es sinnig ist oder nicht, ist in diesem kontext völlig egal !!!
Finde ich nicht. Die spannende Frage ist beispielsweise, auf welche Weise aus den Konstanten ein Array wird.
Und wie du dann später auf das Array zugreifst.
übrigens, da ich beruflich seit '95 in der c++/java software entwicklung unterwegs bin, könnte ich mir schon vorstellen daß ich ne ungefähre ahnung davon habe ob was sinn macht oder nicht, oder? ;)
Wenn du seit 15 Jahren C++ und Java programmierst, dann hast du eventuell Ahnung davon, was in C++ und Java Sinn macht. Was in PHP Sinn macht, darüber kannst du dir nur ein Urteil erlauben, wenn du auch in PHP entsprechend lange Erfahrungen hast.
Im übrigen ist es unerheblich, wie lange du schon irgendetwas programmierst. Es ist grundsätzlich möglich, sich gerade als langjähriger Programmierer in die unsinnigsten Dinge verrennen zu können, und entsprechende Hinweise jüngerer Codeleser mit der Bemerkung wegzuwischen, dass die ja nicht die Erfahrung haben, um den Sinn zu erkennen.
Nun ja: Ich erkenne den Sinn nicht, und ich bilde mir ein, in PHP durchaus Erfahrungen vorweisen zu können. Also vielleicht erklärst du mir dann einfach mal, was du da machst, welchen Sinn das für dich hat, und warum es nicht anders geht. Ich lerne gerne dazu.
wie auch immer der o.g. pseudocode stimmt schon wirklich mit dem tatsächlichen code überein. es werden in xyzScript2.php wirklich nur diverse key/value arrays - deren keys o.g. konstanten sind - erstellt, mehr nicht. daher macht das posten von mittlerweile 1500 zeilen code m.E. hier keinen sinn, weil da tatsächlich nicht mehr passiert.
Man hat schon Skripte gesehen, die irgendwo einen unerwarteten Tippfehler hatten oder ähnliches.
Deshalb mal dumm gefragt: Hast du alle Notices an? Hast du auf eventuelle PHP-(Fehler)Meldungen geprüft? Gibts da irgendwas berichtenswertes?
das muss irgendwas mit dem php spezifischen gängigen require/include vorgehen zu tun haben, da ich in xyzScript2.php noch diverse andere scripte und konstanten inkludiere. aber mehr passiert da wirklich nicht!
Aha, also schon wieder Abweichungen von Realität und Pseudocode.
Du kannst ja wirklich gern abstrahieren und reduzieren, um eine Problemlösung im Forum zu erhalten. Aber Grundbedingung solcher Abstraktion ist, dass diese das originale Problem auch zeigt. Das kann ich hier nicht erkennen.
- Sven Rautenberg