Erfahrungen mit Frameworks wie Zend, ezComponents, SilverStripe ?

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

  • #16
    Wenn ich bei uns in der Firma so einen Code abliefern würde, würde ich nicht mehr lange in der Firma arbeiten.


    Aber auch im ZF ist nicht alles Gold, was glänzt.
    Das ein oder andere Singleton dümpelt da rum, und ich habe KA warum.
    Die ganzen eingestreuten require* nerven, weils ohne includepath nicht geht.
    Das halbgare Autoloading... entweder überall require* einstreuen, oder Autoload. Aber doch nicht solch ein durcheinander.

    Ich sezte auch häufiger mal ein paar Teile des FW ein. Z.b. Zend_Soap_Server mit seiner automatischen WSDL generierung halte ich für recht gelungen. Auch das Mail Gedöns ist gut brauchbar. usw.
    Wir werden alle sterben

    Kommentar


    • #17
      Zitat von combie Beitrag anzeigen


      Aber auch im ZF ist nicht alles Gold, was glänzt.
      Das ein oder andere Singleton dümpelt da rum, und ich habe KA warum.
      Die ganzen eingestreuten require* nerven, weils ohne includepath nicht geht.
      stimmt, abe im ZF werden solche Fehler nach und nach ausgemerzt das autoloading ist noch nicht so das wahre aber auch das wird von release zu release besser. das einbetten der Singelton war wohl etwas über ziel hinausgeschossen.
      <?php echo "ad astra"; ?>
      www.utopiafuture.de

      Kommentar


      • #18
        Zitat von combie Beitrag anzeigen
        Aber auch im ZF ist nicht alles Gold, was glänzt.
        Da stimm ich dir voll zu. Aber in professionellen Kreisen wird es trotzdem sehr gerne verwendet. Einerseits, weil es sehr gut dokumentiert ist, andererseits weil die Zend-Leute dahinter stehen und es stetig weiterentwickelt wird.

        Jedes Framework hat irgendwelche Macken. Aber trotzdem gibts auch gute und eher schlechte Frameworks. Mit der Zeit entwickelt man ein Auge dafür, welche gut und welche schlecht programmiert sind, und welche für die geplante Aufgabe am geeignetsten ist.

        Ein Framework, das großteils aus prozeduralen Code besteht und das so formatiert ist, als hätte es ein Anfänger getippt ist nicht gerade vertrauenerweckend und lässt an den Künsten der Ersteller zweifeln. Und ehrlich gesagt würde ich mich als Entwickler mit sowas nicht beschäftigen wollen. Da programmier ich lieber von Grund auf ein neues Framework, anstatt ein fertiges zu verwenden, das unsauber zusammengeschustert ist. Vor allem mit den Variablen und Funktionen im globalen Namensraum stößt man früher oder später auf Probleme. Das ist alles andere als professionell.
        Zuletzt geändert von h3ll; 27.07.2009, 12:38.

        Kommentar


        • #19
          Ich habe mir das Ding von piratos auch mal angesehen.....
          (sonst hätte ich nicht so grinsen können)

          Die schlimmsten Auffälligkieten:
          1. ein Urwald von Konstanten
          2. __autoload macht SPL Autoload kaputt
          3. zudonnern des globalen Namensraumes (Funktionen, Konstanten u. Variablen)


          Meine index.php sehen meist so aus, oder so ähnlich:
          PHP-Code:
          <?php

          require_once "./Config/Application.php";

          $Application = new Application;
          $Application->run();
          Wobei dann $Application die einzige globale Variable ist. Und das auch nur weil es nicht anders geht. Sie wird auch nur in dieser Datei verwendet.
          Wir werden alle sterben

          Kommentar


          • #20
            Zitat von combie Beitrag anzeigen
            Wobei dann $Application die einzige globale Variable ist. Und das auch nur weil es nicht anders geht. Sie wird auch nur in dieser Datei verwendet.
            Naja, so teilweise. Ich packe noch eine Bootstrap-Klasse drumherum, welche die eigentliche Anwendungsinstanz erzeugt. So sind mehrere Anwendungen über das gleiche Skript abrufbar und die Anwendungsinstanz ist nichtmal global.
            Sieht dann so aus:
            PHP-Code:
            <?php
            define
            ('BOOTSTART'microtime(true));

            require_once 
            'bootstrap.php';
            Bootstrap::dispatch();
            Nur um selbst noch die letzte Globale zu killen

            Kommentar


            • #21
              genau @phpdesaster.. sieht garnicht so nach einem desaster aus...
              <?php echo "ad astra"; ?>
              www.utopiafuture.de

              Kommentar


              • #22
                Wenn ich run() statisch mache, könnte ich den selben Effekt erreichen.

                PHP-Code:
                require_once "./Config/Application.php"

                Application::run(); 
                Aber statisch meide ich (meistens) wie die Pest. Lieber 1 globale Variable, als ein "unnötiges" static
                Wir werden alle sterben

                Kommentar


                • #23
                  Zitat von combie Beitrag anzeigen
                  Aber statisch meide ich (meistens) wie die Pest. Lieber 1 globale Variable, als ein "unnötiges" static
                  Naja, was meinst du, macht meine statische Methode:
                  PHP-Code:
                  $inst=new self();
                  $inst->_boot(); 
                  Ist also gehüpft wie gesprungen

                  Zitat von martin2 Beitrag anzeigen
                  genau @phpdesaster.. sieht garnicht so nach einem desaster aus...
                  Bedankt

                  Kommentar


                  • #24
                    Nein!
                    Das würde bei mir nicht ohne get_called_class() gehen.
                    Meine Application Basisklasse und damit run() liegt tiefer in der vererbungsstruktur.
                    Zuletzt geändert von combie; 27.07.2009, 14:50.
                    Wir werden alle sterben

                    Kommentar


                    • #25
                      Zitat von combie Beitrag anzeigen
                      Meine Application Basisklasse und damit run() liegt tiefer in der vererbungsstruktur.
                      Ja ok, meine Bootstrap-Klasse ist nur der Dispatcher, die konkrete Anwendungsinstanz wird innerhalb des Bootstrapings erstellt. Die Konfiguration und Art der Instanz ermittelt alles die Klasse, bevor dann die eigentliche Ausführung stattfindet.

                      Kommentar

                      Lädt...
                      X