Ankündigung

Einklappen
Keine Ankündigung bisher.

Zend Framework

Einklappen

Neue Werbung 2019

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

  • Zend Framework

    Hola zusammen,

    ich wollte mal fragen ob sich jemand von euch bereits mit dem Zend Framework (http://framework.zend.com) auseinander gesetzt hat?

    Ich selbst überlege gerade meine Applikation komplett nach dem Zend-mvc pattern zu konvertieren. Ich habe zwar bisher auch in einer mvc-Struktur gecoded, diese war aber selbst entworfen und folgte keinen standart-konvention (was nicht heisst das meine Konventionen schlecht wären!+g+). Da die Applikation auf jeden Fall noch wachsen wird, würde ich jetzt lieber asap mit dem Umschreiben anfangen.

    Nachdem was ich bis jetzt so gelesen und gesehen habe, sagt mir das Framework sehr zu. Ich bin sowieso von Zend absolut überzeugt, und würde mich auf das Framework (im Gegensatz zu anderen...) einlassen.

    Würde mich freuen mich mit ein paar gleichgesinnten hier zu unterhalten

    Für alle die noch nichts vom Zend mvc-pattern gehört haben, schaut auf jeden Fall mal auf die framework seite (link oben), das manual ist auch schon ins Deutsche übersetzt. Hier auch noch eine deutsche übersetzung "Einstieg ins Zend Framework" http://www.akrabat.com/wp-content/up...mework_103.pdf

    viele grüße!
    marco
    MF goes Melchior

  • #2
    eine interresante Sache...

    schreibst du deine Skrpite bereits mit diesem Framework? Kannst du mir schon sowas wie einen Erfahrungsbericht geben? Wo siehst du noch etwaige Schwächen?

    Kommentar


    • #3
      Hier findest du einige Links bzgl. des Zend Frameworks:
      http://www.developers-guide.net/foru...ownload-bereit

      Vielleicht ist ja was brauchbares dabei.

      Kommentar


      • #4
        Danke übrigens für den Link Melchior, bin gerade dabei mich in das Framework einzulesen. Zum Update 0.2.0 des ZF hier noch ein Link:
        http://www.ralfeggert.de/2006/11/09/...al-release-02/
        U.a. bei Zend_Controller_RewriteRouter::addRoue() gab eines Anpassung der Parameter.

        Kommentar


        • #5
          Hi!

          Wollte den Link von Ralf eggert auch noch posten! Ist ein super blogg - vor allem schreibt er stylistisch gut und struktuiert und bringt die Sachen echt top rüber.

          Bin momentan etw. im Stress - kommenden Freitag releasen wir unser erste offizielle Plattform.
          Wäre die Zeit nicht so eng, würde ich gern alles nach Zend Syntax / Framwork umschreiben... aber das mach ich garantiert noch. Hab zwar auch nach Pattern geschrieben, aber Zend zu benutzen, gerade für Erweiterungen, wäre doch schon sehr viel nicer

          viele Grüße
          Melchior
          MF goes Melchior

          Kommentar


          • #6
            Die Performance ist aber übelst schlecht bei Zend (PHP 5.1.6 im Extremen angewandt?) habe ich den Eindruck:

            PHP-Code:
            <?php
            //--------------------------------------------------------------------------------------------------

            list ($dMTstart$iMTstart) = explode(' 'microtime());

            set_include_path(get_include_path() . PATH_SEPARATOR realpath('./library/'));
            require 
            'Zend.php';

            Zend::loadClass('Zend_Controller_Front'); 
            Zend::loadClass('Zend_Controller_RewriteRouter'); 
            Zend::loadClass('Zend_View'); 

            Zend::loadClass('Zend_Filter_Input');
            Zend::register('post',   new Zend_Filter_Input($_POST));
            Zend::register('get',    new Zend_Filter_Input($_GET));
            Zend::register('cookie', new Zend_Filter_Input($_COOKIE));

            list (
            $dMTend$iMTend) = explode(' 'microtime());
            $sDuration = ($iMTend $iMTstart) + ($dMTend $dMTstart) . "\n";
            file_put_contents('duration.log'$sDurationFILE_APPEND);

            header(sprintf('Location: %s'$_SERVER['PHP_SELF']));

            //--------------------------------------------------------------------------------------------------
            ?>
            erzeugte nach mehrmaligem Refresh
            Code:
            0.065288
            0.023616
            0.032864
            0.025478
            0.03145
            0.026068
            0.031534
            0.035693
            0.029573
            0.024699
            0.022585
            0.030656
            0.025469
            0.024024
            0.03331
            0.024362
            0.033619
            0.024105
            0.023653
            0.033091
            0.025535
            0.047338
            0.025476
            0.024854
            0.023083
            0.032236
            0.045382
            0.025054
            0.031619
            0.022777
            0.033532
            0.024273
            0.025206
            0.031732
            0.022919
            0.032045
            0.023281
            0.02338
            0.034042
            0.024881
            0.022398
            0.030544
            0.04408
            0.025391
            0.032253
            0.024768
            0.02803
            0.022133
            0.023033
            0.027153
            0.022663
            0.025238
            0.029131
            0.022162
            0.022544
            0.03267
            0.023325
            0.024508
            0.022271
            0.02366
            0.024411
            0.031709
            0.023667
            0.044936
            0.023493
            0.032966
            0.022897
            0.03509
            0.022988
            0.032705
            0.024282
            0.022485
            0.033114
            0.022824
            0.025658
            0.033519
            0.038399
            0.041199
            0.024651
            0.024174
            0.034311
            0.023152
            0.024875
            0.023509
            0.055762
            0.034337
            0.034828
            0.0411
            0.029447
            0.033962
            0.024606
            0.024609
            0.033612
            0.023649
            0.022834
            0.022402
            0.023335
            0.029638
            0.022658
            0.022557
            0.034187
            0.022243
            0.030705
            0.024693
            0.022354
            0.040824
            0.024974
            0.023112
            0.033006
            0.024312
            0.025677
            0.025931
            0.022325
            0.02212
            0.022345
            0.031067
            0.022397
            0.032414
            0.023176
            0.023361
            0.032668
            0.022133
            0.023395
            0.024759
            0.023783
            0.032674
            0.061513
            0.024716
            0.03296
            0.029998
            0.033491
            0.024303
            0.022609
            0.025656
            0.028629
            0.025186
            0.025591
            0.024901
            0.031907
            0.023875
            0.02425
            0.022068
            0.024753
            0.031406
            0.024628
            0.022828
            0.022585
            0.043909
            0.025052
            0.037025
            0.023778
            0.024756
            0.033575
            0.023142
            0.030169
            0.023899
            0.026303
            0.033229
            0.024098
            0.034733
            0.026481
            0.023544
            0.023201
            0.022876
            0.028332
            0.023485
            0.025093
            0.035848
            0.063833
            0.024542
            0.042219
            0.036442
            0.050523
            0.0523
            0.023986
            0.024726
            0.023814
            0.033476
            0.02313
            0.024127
            0.032605
            0.023701
            0.032146
            0.028144
            0.041917
            0.030645
            0.032374
            0.032449
            0.030073
            0.048379
            0.024575
            0.02882
            0.026017
            0.023931
            0.040332
            0.040339
            0.04743
            0.023435
            0.025212
            0.032247
            0.02262
            0.024269
            0.033937
            0.026406
            0.024802
            0.033742
            0.022613
            0.023997
            0.031094
            0.022452
            0.044401
            0.033145
            0.03517
            0.02386
            0.025258
            0.033592
            0.022796
            0.025083
            0.032402
            0.024803
            0.023548
            0.031918
            0.022329
            0.025327
            0.038355
            0.042388
            0.043251
            0.029414
            0.022894
            0.034247
            0.024365
            0.049635
            0.026301
            0.036291
            0.023373
            0.026446
            0.023211
            0.024814
            0.034125
            0.040912
            0.044817
            0.022712
            0.022318
            0.029237
            0.024187
            0.022836
            0.029917
            0.024031
            0.022585
            0.027025
            0.023903
            0.023378
            0.061934
            0.034576
            0.022763
            0.025165
            0.035184
            0.023158
            0.038313
            0.035306
            0.023627
            0.023143
            0.033171
            0.024208
            0.023
            0.031145
            0.023693
            0.023348
            0.033977
            0.023413
            0.022885
            0.033917
            0.023917
            0.048026
            0.024764
            0.03198
            0.023069
            0.024887
            0.032785
            0.023386
            0.024569
            0.033422
            0.023102
            0.02341
            0.027947
            0.022745
            0.023864
            0.02567
            0.023661
            0.024312
            0.02594
            0.025107
            0.022901
            0.026091
            PHP-Code:
            <?php
            //--------------------------------------------------------------------------------------------------

            $dTotal 0.0;
            $iLines 0;
            foreach (
            array_map('trim'file('duration.log')) as $dMT) {
               
            $dTotal += $dMT;
               
            $iLines++;
            }
            echo 
            $dTotal $iLines;

            //--------------------------------------------------------------------------------------------------
            ?>
            Ausgabe:
            Code:
            0.0289285884354
            Nachdem ich alle größeren Windows-Programme beendet habe kam bei 355 Zeitmessungen ein Schnitt von
            Code:
            0.0239083761194
            heraus.

            Und gemesen wurde nur das Einbinden der Bibliotheken und Filtern von 3 nicht gefüllten Arrays..

            Kommentar


            • #7
              urgz, wäre natürlich schlecht wenn die performance nicht stimmt. Kanns mir aber nicht vorstellen das ZF ne Application so langsam macht. Gibts bestimmt noch Sachen zu optimieren das alles schön schnell läuft *grübel*
              Aber das einzige was bei deinem Test gemacht wird sind ja ein paar Klassen zu instanz. und zu registrieren, komisch dass das so lange dauert. Aber habe auch ehrlich gesagt keine richtigen Referenzwerte zum Vergleich im Kopf.

              gruß m

              ps: Mailinglistarchiv von tf-ml
              http://www.nabble.com/Zend-Framework-f15440.html
              MF goes Melchior

              Kommentar


              • #8
                naja ein Framework wird wohl immer langsamer sein als alles mit 'native' php Funktionen zu realisieren aber dafuer gibt es ja eAccelerator, Zend Optimizer usw.

                Ich denke Zend::loadClass ist wohl der Uebeltaeter.
                Wenn mich nicht alles taeuscht wird im Hintergrund require_once aufgerufen.
                require_once ist sehr langsam.

                Ich habe mir auch schon ueberlegt mit dem ZF zu arbeiten.
                Ausserdem habe ich mir CakePHP etwas angesehen.

                Die Frage ist was will man haben:
                Performance ohne Ruecksicht auf Verluste
                oder die Entwicklung vereinfachen bzw. Erweiterungen/Wartung erleichtern.

                Kommentar


                • #9
                  Hmm ... Naja, aber die Performance sollte schon auch noch tragbar sein ^^ Meine Hoffnung ist da ja noch, dass das Framework eben bei sehr kleinen "Aufgaben" Schwächen in der Performance zeigt, einfach deshalb, weil es dafür ja eigentlich nicht ausgelegt ist und sicherlich da noch nicht richtig seine Stärken zeigen kann. Insofern würd ich erstmal abwarten, wie die Zeiten bei großen Sachen aussehen.

                  Ausprobieren werde ich es auf jeden Fall auch mal, sieht sehr interessant aus. Mein Projekt ist im Moment ja eh nur ein Sammelsurium von diversen halb umgesetzen Ideen, insofern wäre ne Portierung wenig aufwendig
                  Nicht jeder Fehler ist ein Bug.

                  Kommentar


                  • #10
                    Hat schon jemand Symfony probiert?

                    http://www.symfony-project.com/weblo...-0-beta-1.html

                    Kommentar


                    • #11
                      Ja, habe mich in meiner Diplomarbeit mit Frameworks beschäftigt und Symfony, Horde, Zend, et cetera mal ausprobiert.

                      Das was ich bisher von Zend gesehen habe, hat mich allerdings noch nicht vom Hocker gehauen. Vielleicht ändert sich daran noch etwas, aber davon bin ich inzwischen nicht mehr wirklich überzeugt.

                      Mein persönlicher Favorit ist "Seagull" (seagull.phpkitchen.com), wegen der guten Integration der einzelnen Bestandteile. Das wirkt IMHO einfach rund und stimmig. Und natürlich das YANA Framework (http://freshmeat.net/projects/yana/), dass auf 3 Jahren Entwicklungsarbeit und den praktischen Erkenntnissen aufbaut, was man an anderen Frameworks noch verbessern kann. 'tschuldigung, so a bissl Eigenwerbung sei mir an dieser Stelle gestattet.

                      Es gibt auch noch eine andere interessante Diplomarbeit. Kurztitel: "Application Frameworks in der Praxis" von Gerhard Wohlgenannt. Eine gute, fundierte Arbeit mit vielen Beispielen. Allerdings nicht mehr ganz taufrisch weil von 2004.

                      Kommentar


                      • #12
                        naja, die beiden von dir genannten sind "vollständige" Frameworks, wärend Zend derzeit mehr oder weniger reines MVC darstellt (was ich übrigens ganz angenehm finde). Find ich schwierig vergleichbar ^^
                        Nicht jeder Fehler ist ein Bug.

                        Kommentar


                        • #13
                          Mh Seagull hab ich mir noch nie angesehen. schaut recht umfangreich an. gleich wie CakePHP. da muss ich mich etwas ueberwinden damit was zu probieren

                          YANA hab ich noch nie gehoert.

                          @marcusson : das hier http://wwwai.wu-wien.ac.at/~wohlg/misc/da.pdf ?

                          Kommentar


                          • #14
                            Um es mal in Worten der Klitschkos zu sagen: Schwere Kost ^^ Mal sehn, wenn ich mal Lust zu 130 Seiten habe, schau ich es mir an, klingt interessant

                            Zend hab ich mir jetzt mal genauer angeschaut. Finds auch eher angenehm, dass es nicht so umfangreich ist. So kann ich mich dabei verstärkt auf MVC konzentrieren und für die anderen Sachen mir bekannte Systeme verwenden (Smarty ^^)
                            Nicht jeder Fehler ist ein Bug.

                            Kommentar


                            • #15
                              Zitat von chrime
                              Jupp. Genau dieses Dokument

                              Zitat von KingCrunch
                              Um es mal in Worten der Klitschkos zu sagen: Schwere Kost
                              Sooo viel ist das doch gar nicht Meine DA kommt auch auf 165 Seiten, dass passt also schon.

                              Ich fand seine Arbeit sehr fundiert und wirklich interessant. Der Vergleich der Frameworks ist wirklich brauchbar.
                              Zusätzlich hatte ich mir für meine DA noch Rails, PHP4A, CodeCharge, Seagull, Brim, DotsPerSite und das Zend Framework angeschaut.

                              Zitat von chrime
                              YANA hab ich noch nie gehoert.
                              Davon wirst möglicherweise in Zukunft noch öfter hören

                              Das interessanteste daran ist wohl, dass ich dieses Framework wirklich von Anfang an mit einem wachen Auge auf Sicherheit, Stabilität und Dokumentation geschrieben habe.
                              Deswegen gibt es auch eine vollständige, deutschsprachige Doku mit Kochbuch und zusätzlich einer umfangreichen API-Dokumentation.

                              Ein bisschen stolz bin ich auch auf die Datenbankschnittstelle, die automatisch Oberflächen generieren kann, DB-Schema Support hat und ein vollständig in PHP geschriebenes Datenbanksystem, als Fallback, mit Triggern, Indexes, nutzerdefinierten Constraints.
                              Außerdem reduziert es deutlich die Gefahr von typischen Anfängerfehlern, die zu SQL-Injection oder Header-Injection führen können.

                              Es gibt noch mehr, aber ich will hier keine Werbung machen
                              Wen es interessiert, der kann mir eine Mail schreiben, dann erläutere ich das gern alles im Detail.

                              Kommentar

                              Lädt...
                              X