30 Includes => 1 Klasse?

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

  • 30 Includes => 1 Klasse?

    Ich habe eine sehr große Projekt-Library, die im Entwicklunsstadium bisher auf 30 thematisch getrennte Einzeldateien aufgeteilt war.
    Das war bisher auch kein Problem, jede Datei enthält eine Klassendefinition, die die der vorhergehenden Datei erbt, und am Ende wird ein Objekt instanziert.

    Das stört jetzt nur meine Dokumentationsversuche mit phpDoc - dieses baut grafisch einen Vererbungsbaum auf, der mit 30 Klassen natürlich gigantisch und völlig unnötig ist, weil alles im Grunde ein und dieselbe Klasse ist. Die vielen Vererbungen sind nur ein Workaround aus Notwendigkeit heraus, damit man beim Arbeiten noch den Überblick behält.

    Deshalb die Frage: Kennt jemand eine Möglichkeit, eine Klassendefinition auf mehrere Dateien aufzusplitten? Also nativ, d.h. die Definition beginnt bei Datei 1 und endet bei Datei 30.

    ein simples

    class classname
    {

    include "xyz.php";
    include "abc.php";

    }

    wirds ja wohl nicht tun.

  • #2
    und wieso tuts du nicht die 30 Dateien in einem rein, zwischen den Inhalt der Dateien kannst du gerne riesige Kommentarblöcke plazieren.

    Kommentar


    • #3
      Original geschrieben von asp2php
      und wieso tuts du nicht die 30 Dateien in einem rein, zwischen den Inhalt der Dateien kannst du gerne riesige Kommentarblöcke plazieren.
      Schon, aber während der Entwicklung brauche ich die Dateien getrennt, sonst verliere ich den Überblick. Und in der Phase müssen dann auch die phpdoc-Blöcke rein, sonst kann ich nicht jederzeit aus der Entwicklungsversion eine Live-Version machen.

      Es ist keine total essentielle Notwendigkeit, aber wäre schön...

      Kommentar


      • #4
        Original geschrieben von pekka
        Schon, aber während der Entwicklung brauche ich die Dateien getrennt, sonst verliere ich den Überblick. Und in der Phase müssen dann auch die phpdoc-Blöcke rein, sonst kann ich nicht jederzeit aus der Entwicklungsversion eine Live-Version machen.

        Es ist keine total essentielle Notwendigkeit, aber wäre schön...
        Ich bin nur drüber gestolpert, daher keine Garantie, dass es dir eine Hilfe ist, aber schau dir mal den Doctrine Compiler an.
        Doctrine_Compiler - This class can be used for compiling the entire Doctrine framework into a single file
        Doctrine Compiler Docu
        Doctrine Compiler Source

        Meiner Meinung nach ein interessanter Ansatz.

        Grüße
        Nieder mit der Camel Case-Konvention

        Kommentar


        • #5
          Original geschrieben von pekka
          Schon, aber während der Entwicklung brauche ich die Dateien getrennt, sonst verliere ich den Überblick. Und in der Phase müssen dann auch die phpdoc-Blöcke rein, sonst kann ich nicht jederzeit aus der Entwicklungsversion eine Live-Version machen.

          Es ist keine total essentielle Notwendigkeit, aber wäre schön...
          Verstehe ich nicht, mir ist es lieber, dass ich rauf und runter scrolle, als hin und her zwischen den Dateien springen. Außerdem such dir einen vernünftigen Editor, der Code-Intellisense hat dann hast du auf einen Blick alle Properties und Methoden des Objekts (mit allen Schikanen).

          Kommentar


          • #6
            Original geschrieben von asp2php
            Verstehe ich nicht, mir ist es lieber, dass ich rauf und runter scrolle, als hin und her zwischen den Dateien springen. Außerdem such dir einen vernünftigen Editor, der Code-Intellisense hat dann hast du auf einen Blick alle Properties und Methoden des Objekts (mit allen Schikanen).
            Ich arbeite mit der nuSphere-PHP-IDE, gewöhne mich aber nicht an Intellisense, Code Explorer und Konsorten. Ich brauche eine thematische Ordnung meiner Klassen.

            Kommentar


            • #7
              Ich würde sagen, du hast ein konzeptionelles Problem beim Design der Klassenstrukturen. Kannst du die Ändern oder gibt es nur deinen Weg?
              Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
              var_dump(), print_r(), debug_backtrace und echo.
              Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
              Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
              Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

              Kommentar


              • #8
                Original geschrieben von Shurakai
                Ich würde sagen, du hast ein konzeptionelles Problem beim Design der Klassenstrukturen. Kannst du die Ändern oder gibt es nur deinen Weg?
                Jein. Die Klasse könnte durchaus anders stukturiert werden, das stimmt schon. Trotzdem bleibt die Frage, ob jemandeinen Weg kennt, eine einzige Klasse über mehrere includes hinweg zu verteilen.

                Kommentar


                • #9
                  PHP-Code:
                  $file 'path/to/class';
                  $content '';
                  foreach( 
                  range130 ) as $name ) {
                      
                  $content .= file_get_contents$file.'.part'.$name.'.php' );
                  }
                  eval( 
                  $content ); 

                  Kommentar


                  • #10
                    Original geschrieben von PHP-Desaster
                    PHP-Code:
                    $file 'path/to/class';
                    $content '';
                    foreach( 
                    range130 ) as $name ) {
                        
                    $content .= file_get_contents$file.'.part'.$name.'.php' );
                    }
                    eval( 
                    $content ); 

                    Kommentar


                    • #11
                      Original geschrieben von pekka
                      Schon, aber während der Entwicklung brauche ich die Dateien getrennt, sonst verliere ich den Überblick.
                      Kauf dir 'nen Editor der Code-Folding unterstützt ...
                      carpe noctem

                      [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                      [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                      Kommentar


                      • #12
                        Original geschrieben von goth
                        Kauf dir 'nen Editor der Code-Folding unterstützt ...
                        Hab ich schon, bringt nichts

                        Kommentar


                        • #13
                          Das kann doch jeder Pisselseditor, würd mich wundern, wenn nuSphere das nicht kann.
                          [FONT="Helvetica"]twitter.com/unset[/FONT]

                          Shitstorm Podcast – Wöchentliches Auskotzen

                          Kommentar

                          Lädt...
                          X