Gibt es eine Möglichkeit in PHP - durch ein include()-Konstrukt oder wie auch immer -, den Code einer Klasse auf mehrere Dateien zu verteilen?
Klassen-Code über mehrere Dateien verteilen?
Einklappen
X
-
Afaik nicht.
Vielleicht wäre es sinvoll über Vererbungen zu gehen. Wenn es dir um eine (logische?) Strukturierung der Klasse geht, sollte sich das Umsetzen lassen.
Ansonsten bleibt noch zu sagen, das afaik eine große Datei schneller geladen ist. Bis zu welcher Größe diese Aussage korrekt ist, vermag ich allerdings nicht zu sagen.
Vielleicht fällt noch was besseres ein, wenn wir wissen, was du vor hast.
-
Vererbungen sind eine gute Idee, wenn nicht jemand noch einen Zaubertrick in der Tasche hat, werd ich das so lösen. Danke!!
Das Anliegen ist die zentrale Engine in einem Shopsystem, die inwischen 233 kb wiegt und bei jeder Änderung über DSL in die Testumgebung hochgeladen wird - und der Upstream ist heute besonders langsam. Dabei kommt ein Aufteilen in mehrere Klassen nicht in Frage, weil zuviele Abhängigkeiten im restlichen Projekt.Zuletzt geändert von pekka; 28.03.2007, 18:39.
Kommentar
-
Hi,
wieviel LOC umfasst denn deine klasse? Und ist es überhaupt
deine oder bist du gezwungen sie zu benutzen?
[nachtrag]
Und was genau ist die aufgabe der klasse?
greets(((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")
Kommentar
-
7403 Zeilen, ist eine eigene, und sie hat ziemlich viele Aufgaben - Warenkorb-Verwaltung, Rechnungsgenerierung... Ist historisch gewachsen und wäre besser in mehrere Klassen verteilt, keine Frage, aber das kommt aufgrund einer Deadline vorerst nicht in Frage. In mehrere, einander verschachtelt vererbende Klassen verteilen ist glaub das beste.
Kommentar
-
Hi,
hmm das ist definitiv zu viel, wie du selbst weisst.
Dann solltest du sehen dass du bereits jetzt wenn du den
weg über vererbung gehst dir mal die geschichte genauer anschaust
und dir ein paar notizen machst, wo du später refakturieren musst.
Erfahrungsgemäß macht man dann die eigentliche refakturierung
nicht, wenn man immer denk: "das mach ich später, im moment
ist keine zeit dafür". Aber dann entstehen eben auch solche
monster wie du jetzt eins vor dir hast.
Also wenn du luft hast, dann tu dir und dem projekt einen gefallen
und bau die sache um.
greets(((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")
Kommentar
Kommentar