Webapplikation Grundgerüst

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    okay, ich bin immer bis jetzt immer andersherum an die sache gegangen:

    Erst entscheiden, welches Modul aktiv ist:
    PHP-Code:
    // aktives Modul
    if(isset($conf[$Xelement][$_GET['modul']]))
        
    $Xmodul $_GET['modul'];
    elseif(isset(
    $conf[$Xelement][$_POST['modul']]))
        
    $Xmodul $_POST['modul'];
    else
        
    $Xmodul "start"
    und dann wurde die entsprechende Datei eingebaut.

    Halte ich für sinnvoller. In dem entsprechenden Modul wird dann nachher nur noch entschieden, welche Aktion gewünscht ist. also genauso wie bei dir.

    Kommentar


    • #17
      dann mußt du aber die Hauptdatei ändert,
      mit deinen isset()'s wenn ein neues Modul dazu kommt.

      Bei meiner Variante wird einfach die modul.conf.php um
      ein Eintrag erweitert, und an/abschalten kannste mit

      $modul['nntp']=true/false;
      TBT

      Die zwei wichtigsten Regeln für eine berufliche Karriere:
      1. Verrate niemals alles was du weißt!


      PHP 2 AllPatrizier II Browsergame

      Kommentar


      • #18
        und TBT's lösung kann man brav in ein UM integrieren. hat ein user keine recht, bekommt das modul false. volldynamisch...
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #19
          @Tobi es werden doch gar net alle includet, nur die die true sind... es werden nur alle abgefragt...
          Beantworte nie Threads mit mehr als 15 followups...
          Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

          Kommentar


          • #20
            seht euch die issets noch mal an. die sehen sich ja nur die berechtigungen an:

            $conf['mail']['pop3'] = TRUE;

            xelement ist das element also zb. mail und danach eben das modul (pop3)

            Kommentar


            • #21
              @mello: das ist klar. aber im zweifelsfall sind alle true.

              wäre es also nicht sinnvoller zuerst zu entscheiden, welches gerade aktiv ist, und dann das eine(!) zu include()n?

              Kommentar


              • #22
                @Tobiaz: im schlimmsten Falle sind alle true, aber im noch schlimmeren Falle haben alle Module bei
                einem Aufruf auch was dazuzugeben (siehe Papierkorb)

                Außerdem sind die einzelnen Moduldateien nach dem Motto aufgebaut.
                PHP-Code:
                if(isset($HTTP_GET_VARS['bla'])){
                  include(
                dirname(__FILE__).'/bla/machdas.php');
                }elseif ... 
                also selber nur 10-20 Zeilen.
                Davon kann man ne ganze Menge includieren, bevor man Performanceverlust
                bemerkt.


                na dann mal der große Aufbau

                Verzeichnisse:
                Code:
                index.php  => hierüber wird alles abgewickelt
                |
                +- classes => hier lagern die Hauptklassen der Anwendung wie 
                |             Template Engine - Benutzerverwaltung - DB Anbindung ...
                |
                +- modules => hier liegen die einzelnen Modulhauptdateien mit dem Namensschema
                |  |          'Modulname'.modul.php
                |  +- nntp => hier lagern die sonst noch zum Modul 'nntp' gehörenden Dateien
                |  +- smtp => die zu 'smtp' gehörenden Dateien
                |
                +- lang    => hier lagern die Sprachdateien, jedes Modul hat seine Übersetzungen 
                |             selbst mitzubringen !!! Format 'Modulname'.lang.php
                |
                +- images  => hier kommen die Bildchen der Hauptanwendung rein
                |  +- nntp => hier kommen Bildchen nur für Modul 'nntp' rein, wegen eventuellen
                |  |          Namesüberschneidungen
                |  +- smtp => Bilder vom Modul 'smtp'
                |
                +- template =>hier sind die Templatedateien untergebracht. 'misc.tpl' für die 
                              Hauptanwendung, ansonsten wieder 'Modulname'.tpl
                die Hauptanwendung stellt derzeit die Benutzerregistrierung,
                sowie die Hülle für den Papierkorb bereit.
                Beim Aufruf von index.php?recycle, hat jedes Modul seine Sachen selbst
                an den Papierkorb zu übergeben. Dieser wird denn in der index.php durch
                PHP-Code:
                $tpl->fill_block('recycle_bin'); 
                angezeigt

                Die Installation neuer Module ist dann ganz einfach.
                Per Script alle Dateien in die richtigen Verzeichnisse verschieben,
                und in der modul.conf.php einen neuen Eintrag machen.

                fertig
                TBT

                Die zwei wichtigsten Regeln für eine berufliche Karriere:
                1. Verrate niemals alles was du weißt!


                PHP 2 AllPatrizier II Browsergame

                Kommentar


                • #23
                  okay, das macht vielleicht sogar sinn.

                  Dein mülleimer zeigt also direkt elemente aus pop3, nntp usw. gleichzeitig an. richtig?

                  Kommentar


                  • #24
                    richtig,

                    wenn der Mülleimer aufgerufen wird, erzeugt jedes Mdoul seine
                    Einträge darin selber.
                    Diese werden dann alle auf einmal angezeigt.
                    TBT

                    Die zwei wichtigsten Regeln für eine berufliche Karriere:
                    1. Verrate niemals alles was du weißt!


                    PHP 2 AllPatrizier II Browsergame

                    Kommentar


                    • #25
                      Ich habe da noch eine Frage. Welche Template Klassen verwendet ihr? Habt ihr euch eigene geschrieben, oder greift ihr auf vorhandene zurück.
                      Was haltet ihr von der SmartTemplate Klasse?
                      Ans Ziel kommt nur der, der auch eins hat. www.e-cross.info

                      Kommentar


                      • #26
                        abraxax and /me have our own one.

                        Kommentar


                        • #27
                          hab auch ne eigene
                          TBT

                          Die zwei wichtigsten Regeln für eine berufliche Karriere:
                          1. Verrate niemals alles was du weißt!


                          PHP 2 AllPatrizier II Browsergame

                          Kommentar


                          • #28
                            OffTopic:
                            @TBT: ich glaube wir müssen uns mal kurzschließen. Hast du auch verschachtelte Blöcke drinne?

                            Kommentar

                            Lädt...
                            X