![]() |
|
|
Themen-Optionen |
|
|
Nach oben #1 |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.800
|
Bzgl. dieses Beitrags habe ich mal eine generelle Frage, die jetzt nur zum Teil PHP-spezifisch ist, deswegen das allgemeine Forum.
Ich habe derzeit zwei Optionen. Entweder ich leite jegliche Request auf eine einzige index.php weiter, welche dann die Verarbeitung übernimmt oder ich habe mehrere ausführende Dateien, z.B. index.php, news.php, ... welche dann jeweils die entsprechenden Aufgaben erfüllen. Vorteil der ersten Version scheint mir die Wartbarkeit zu sein. Heißt, dass ich Änderungen nur an einer einzigen Datei ausführen muss, um alle Sektionen erreichen zu können. Nachteil scheint mir der zu sein, dass ich bei einem Update eine gewisse Zeit (auch wenn sie zugegebenermaßen recht kurz ist Verwende ich mehrere Dateien, die spezifische Funktionen ausführen, so sind alle Sektionen lauffähig, außer der zur Zeit zu aktualisierenden! Basti schreibt in seinem Beitrag, dass nur ein Einstiegspunkt zur Anwendung (so habe ich es jedenfalls verstanden) verfügbar sein soll. Durchaus nachvollziehbar. Ich würde einfach gerne Eure Meinungen zu meinen "Ideen" hören, damit ich möglichst optimal strukturieren kann .. hehe Hoffe, dass ihr meine Gedanken soweit verstanden habt, ansonsten einfach nachfragen. Grüße, Ben. |
|
|
|
|
|
Nach oben #2 |
|
BIN EIN KRASSA HELD!!!111
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.188
|
Ich würde eine Bootstrap-Datei bevorzugen, aus dem Grund, wie oft macht man Updates ? Und wie lange dauert sowas wirklich ? sind 5 Minuten Offlinezeit eines kompletten Systems nicht vertretbar ab und an ?
Es ist auch mehr Aufwand ein System soweit abzukapseln denke ich, z.b. angenommen es gibt ein Newsscript, einen Blogoder eine Tutorial-Sektion, jetzt willst du diesesModule updaten, wie schauts mit der Interaktion aus, z.b. wenn du auf jeder Seite die Letzten 5 Tutorials, News pder Blogeinträge anzeigen lässt ? Wie reagiert das Modul, das du dann wohl in den Offline-mode gesetzt hast ? Hat es eine passende Schnittstelle um solche Anfragen dann auch passend einfach mit einem "zur Zeit nicht verfügbar" abzuspeisen ? Wo passiert das ? Wie viel von diesem Modul Systems muss bei sowas dann lauffähig sein (du updatest es ja gerade ) um die kommunikationfähigkeit NOCH bereitzustellen ? Weil man ja nie weis, was ein Aufruf auf irgendwas eines Moduls zurückgibt, sei es eine html-liste, xml-kram oder einfach nur ne Zahl. Es ist wohl etwas kompliziert(er) ein System so aufzubauen, dass man Module während dem Betrieb abschalten kann, die vielleicht auch Inhalte an andere Seiten/Module des Systems liefern. mfg robo47 |
|
|
|
|
|
Nach oben #3 | ||
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.800
|
Zitat:
Deine Gedanken hatte ich in ähnlicher Form auch schon. Zitat:
Die Frage ist nur, ob es sinnvoll ist. Man benötigt schließlich irgendwo die Information, ob ein Modul aktiv oder deaktiv ist, was wiederum Entscheidungsaufwand bedeutet, was gleichzusetzen mit Performanceverlust ist. Hm, würde da fast sagen, dass es diesen Aufwand nicht wert ist. Andere Meinungen? |
||
|
|
|
|
|
Nach oben #4 |
|
BIN EIN KRASSA HELD!!!111
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.188
|
Naja, ein simples IF, verbunden mit a) Auslesen einer Datenbanktabelle in der der Kram steht oder b) man hat den Kram in der config des Systems mit drin [die wird ja eh eingelesen], dürfte der Performance nicht so viel abbruch tun.
|
|
|
|
|
|
Nach oben #5 |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.800
|
Für mich wäre nur Punkt b) interessant. Da hatte ich auch gar nicht dran gedacht.
Quasi im ACP die Konfiguration(sdatei) ändern. Eine zusätzliche Datenbankabfrage halte ich ehrlich gesagt für nicht so prall, da sie über Weg b) doch eigentlich vermieden werden könnte. Das ist aber letztlich auch kein Kriterium für "machen" oder "nicht machen" |
|
|
|
|
|
Nach oben #6 |
|
Erfahrener Benutzer
Registriert seit: 17.11.2005
Ort: Rheinland-Pfalz, Osthofen
Beiträge: 122
|
Hmm, eine mehrere Anzahl der im Browser aufrufbarer Dateien muss nicht darauf deuten, dass es mehrere Einstiegspunkte gibt. Entscheidend ist nur, dass sämtliche Aufrufe an der zentralen Stelle vorbei müssen.
Ob es mehrere Dateien sind, die die Kernfunktionen laden (z.B. global.php) oder ob es nur eine Datei ist, die die benötigten Funktionen lädt, ist egal. Wichtig dabei ist nur, dass Funktionen, die die Aufgaben am Ende durchführen sollen, nicht direkt aufgerufen werden dürfen. Ich mag Anwendungen die ein Kern haben, über welchen alles abgewickelt wird, da sonst die Funktionen miteinander verflochten sind und die Wartbarkeit dadurch erschweren. Zu den Kernfunktionen der Anwendung könnte die Fehlerbehandlung gehören, auch Registry, wo Informationen zwischen gespeichert werden, evtl. auch Datenbankschnittstelle. Bei dem modularen Aufbau der Anwendung auch Funktionen zur Module Handhabung. Da währe auch solche Funktionalität wie du schreibst Ben, nicht schwer realisierbar. Allerdings können die Kernkomponenten nicht ohne Deaktivierung des kompletten Systems gewartet werden. |
|
|
|
|
|
Nach oben #7 | |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.800
|
Zitat:
Die Kernkomponenten, wie du sie nennst, sind sicherlich nicht so häufig von Änderungen betroffen, wie Features, die mit diesem Kern realisiert sind. Ich werde auf jeden Fall eine "prepend"-Datei verwenden, einfach um sicherzugehen, dass alle Anwendungsteile die gleiche/n Basis/informationen besitzen und mit diesen arbeiten! |
|
|
|
|
|
|
Nach oben #8 | |
|
Erfahrener Benutzer
Registriert seit: 30.03.2006
Ort: Pfinztal
Beiträge: 355
|
Zitat:
Eine hoch integrative Seite sollte sich sowieso nicht an das sture "eine Seite, ein Script"- Konzept halten. Das ist insbesondere für die spätere Ausbaubarkeit und Wartbarkeit aufwändig, wie die Vorgänger hier schrieben. Was das dynamische An- und Abschalten angeht. Ein Gedanke zu dem Thema: Wie oft wird sowas in der Praxis genutzt? Gerade bei Anwendungen, die hoch integrativ sind, wird das kaum genutzt. Der einzige echte Grund, der mir bislang untergekommen ist, und der so etwas erfordern kann, sind Updates von kleineren Modulen o.ä., die größere Datenmigrationen erfordern, bei dennen der Rest weiterlaufen soll. Und sowas kommt in der Praxis der typischen Webseiten wie oft vor? Selbst die ganz großen, wie eBay u.ä. machen sowas kaum. Ich denke, dass man sowas mit Blick auf den zu erwartenden Nutzen getrost sein lassen kann. Denn man kann sich bei einem vernünftigen Dependency-Tracking von zig Modulen auch ziemlich die Finger vor der Tastatur brechen. Ab 100 Modulen ist ein gezielte Wurf des Systems aus dem Hochhaus-Fenster geschickter
__________________
Open Sourcing the Online Gaming Universe PHP/SQL/Java/C++/Assembler. Seit Jahren Mitglied und Entwickler in einem der wohl größten Java-Projekte der Welt: http://weblogs.java.net/blog/hansmul...e_desktop.html |
|
|
|
|
|
|
Nach oben #9 | |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.800
|
Danke für die Einschätzung.
Ich nutze ja selbst das Zend Framework, nutze also auch eine sogenannte bootstrap-Datei, aber das heißt ja nicht, dass es dann nur eine aufrufende Datei geben kann. Zitat:
|
|
|
|
|
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| GZip-Komprimierung mehrerer Dateien mittels PHP | Chr!s | PHP-Programmierung | 4 | 07.04.2007 14:10 |
| Dateien aus SVN 1 auschecken, in SVN 2 einchecken, keine eigenen Änderungen vorhanden | Ben | Tools, Server, Betriebssysteme | 2 | 21.03.2007 18:53 |
| Cache leeren um mit file Dateien zu durchsuchen | Tryzero | PHP-Programmierung | 12 | 12.03.2007 10:13 |
| [PHP] FTP-Funktionen in PHP nutzen | MrNiceGuy | Tutorials | 0 | 24.05.2006 14:18 |
| eclipse: Editor-Verknüpfungen einzelner Dateien | ezrael | Eclipse | 0 | 26.10.2005 14:57 |