Ankündigung

Einklappen
Keine Ankündigung bisher.

Eigene Framework vs. bestehende Frameworks

Einklappen

Neue Werbung 2019

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

  • #61
    Hallo und danke Doc, der Teil hier

    Der Teil zwischen einem "/_/" und dem nächsten wird dann einfach zu einem Parameter-Satz zerlegt, der je nach Anwendung und Modul, das auf der Seite eingebunden ist länger oder kürzer ist.

    Soweit klar für dich?
    leuchtet mir nicht wirklich ein. Zumindest weiß ich in dem Fall nicht was da miz "zwischen meinst", weil ich habe ja vor und nach dem /_/ URL Parameter stehen.
    Vieleicht kannst du dazu noch ein paar einleuchtende Worte finden.

    Der Input Filter auf die URL wäre also der, der die an der Stelle /_/ die URL zerlegt und aufbereitet um danach meine MVC Komponenten zu laden bzw. zu initialisieren. Was wäre ein Output Filter, ich kann mir da nicht wirklich was vorstellen?

    Ich danke dir für deine Zeit und Mühe Erklärungen zu finden und zu geben. Ich gebe mir ehrlich Mühe das zu verstehen, aber irgendwie tue ich mich schwer das so in meine Birne zu bekommen.

    Gruß Litter
    Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
    [URL]http://www.lit-web.de[/URL]

    Kommentar


    • #62
      Sollen wir mal einen Filter zusammen implementieren? Ich denke, dann gestaltet sich das viel einfacher...
      Viele Grüße,
      Dr.E.

      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      1. Think about software design [B]before[/B] you start to write code!
      2. Discuss and review it together with [B]experts[/B]!
      3. Choose [B]good[/B] tools (-> [URL="http://adventure-php-framework.org/Seite/088-Why-APF"]Adventure PHP Framework (APF)[/URL][URL="http://adventure-php-framework.org"][/URL])!
      4. Write [I][B]clean and reusable[/B][/I] software only!
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

      Kommentar


      • #63
        Zitat von dr.e. Beitrag anzeigen
        Sollen wir mal einen Filter zusammen implementieren? Ich denke, dann gestaltet sich das viel einfacher...
        Vielen lieben Dank für das Angebot, dass nehme ich sehr sehr gern an. Sorry das ich mich etwas später melde aber durch meine kleine ist Zeit oft begrenzt.

        Gruß Litter
        Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
        [URL]http://www.lit-web.de[/URL]

        Kommentar


        • #64
          Hi litter,

          macht nix, ich bin aktuell auch zeitlich sehr begrenzt verfügbar. Da ich ohnehin für die APF-Version 1.14 die Filter-Chain optimiere, komme ich am Thema Filter ohnehin vorbei und bereite mal etwas für die Diskussion vor. Anschließend können wir die Ausgestaltung zusammen besprechen.

          Melde mich wieder.

          PS: viel Spass mit der kleinen, Kinder sind etwas richtig spannendes!
          Viele Grüße,
          Dr.E.

          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          1. Think about software design [B]before[/B] you start to write code!
          2. Discuss and review it together with [B]experts[/B]!
          3. Choose [B]good[/B] tools (-> [URL="http://adventure-php-framework.org/Seite/088-Why-APF"]Adventure PHP Framework (APF)[/URL][URL="http://adventure-php-framework.org"][/URL])!
          4. Write [I][B]clean and reusable[/B][/I] software only!
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

          Kommentar


          • #65
            Zitat von dr.e. Beitrag anzeigen
            Hi litter,

            macht nix, ich bin aktuell auch zeitlich sehr begrenzt verfügbar. Da ich ohnehin für die APF-Version 1.14 die Filter-Chain optimiere, komme ich am Thema Filter ohnehin vorbei und bereite mal etwas für die Diskussion vor. Anschließend können wir die Ausgestaltung zusammen besprechen.

            Melde mich wieder.

            PS: viel Spass mit der kleinen, Kinder sind etwas richtig spannendes!
            Ok, noch mal vielen Dank. Ja spannend sind sie wohl, wir sind voll eingespannt, zumal unsere Maus vor den Koliken nicht verschont blieb.

            Bis bald Gruß Litter
            Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
            [URL]http://www.lit-web.de[/URL]

            Kommentar


            • #66
              Hi litter,

              wollte mich nur kurz melden, dass ich dich nicht vergessen habe. Schreibe gerade an der Doku der Filter für 1.14 und unsere Diskussion werde ich dort als Beispiel verewigen und dir den Code alsbald hier zukommen lassen.

              EDIT: nachdem ich mit der Doku gut voran gekommen bin, habe ich unter http://wiki.adventure-php-framework....en_URL-Layouts schon mal begonnen, das hier besprochene in einem Tutorial aufzuarbeiten. Wenn du möchtest, kannst du dir dieses schon mal ansehen. Ich vervollständige es ab jetzt Stück für Stück.
              Viele Grüße,
              Dr.E.

              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
              1. Think about software design [B]before[/B] you start to write code!
              2. Discuss and review it together with [B]experts[/B]!
              3. Choose [B]good[/B] tools (-> [URL="http://adventure-php-framework.org/Seite/088-Why-APF"]Adventure PHP Framework (APF)[/URL][URL="http://adventure-php-framework.org"][/URL])!
              4. Write [I][B]clean and reusable[/B][/I] software only!
              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

              Kommentar


              • #67
                Ich habe gerade was gesehen:
                PHP-Code:
                public function filter(FilterChain &$chain$input null) { 
                Warum setzt Du das & davor?

                Kommentar


                • #68
                  Hi xm22,

                  an dieser Stelle wird die Referenz einer Chain übergeben. Aus diesem Grund nutze ich den Referenz-Operator (siehe http://de2.php.net/manual/de/languag...ences.pass.php).

                  In PHP5, so sagt man, sollte das überflüssig sein. Die Doku spricht jedoch weiterhin von Referenz vs. Kopie: http://de2.php.net/manual/de/languag...ces.whatdo.php. Ich mag mich täuschen, jedoch schadet das & für Gegner auch nicht.
                  Viele Grüße,
                  Dr.E.

                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                  1. Think about software design [B]before[/B] you start to write code!
                  2. Discuss and review it together with [B]experts[/B]!
                  3. Choose [B]good[/B] tools (-> [URL="http://adventure-php-framework.org/Seite/088-Why-APF"]Adventure PHP Framework (APF)[/URL][URL="http://adventure-php-framework.org"][/URL])!
                  4. Write [I][B]clean and reusable[/B][/I] software only!
                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

                  Kommentar


                  • #69
                    Wenn der &-Operator nicht verwendet wird, erzeugt PHP eine Kopie des Objekts. Wenn nun $this innerhalb der Klasse verwendet wird, bezieht es sich auf die aktuelle Instanz der Klasse. Die Zuordnung ohne & erzeugt eine Kopie der Instanz (d.h. des Objekts) und $this wird sich auf die Kopie beziehen. In der Regel will man aus Performance- und Speicherverbrausgründen nur eine einzige Instanz einer Klasse erzeugen.
                    Da dürfte die deutsche Doku hinsichtlich einer „neueren“ PHP-Version falsch sein.

                    Übergabe per Referenz sollte aber kaum jemals zu unlösbaren Problemen führen, das stimmt.

                    Der wesentliche Punkt ist eben, dass bei einem per Referenz übergebenen Objekt innerhalb des Gültigkeitsbereichs auch die Variable außerhalb des Gültigkeitsbereichs komplett überschrieben werden kann. Zum Beispiel: Wenn ich in einem API eine getFoo()-Methode habe, aber keine setFoo()-Methode erlauben möchte, darf ich getFoo() keine Referenz zurückgeben lassen, weil sonst indirekt setFoo() möglich wird.

                    Wenn ältere PHP-Versionen (Version 4, nehme ich an) unterstützt werden sollen, führt an den Referenzen aber wohl ohnehin kein Weg vorbei.

                    Kommentar


                    • #70
                      Siehe dazu auch folgendes Beispielskript:
                      PHP-Code:
                      <?php

                      class Foo
                      {
                        public 
                      $variable;
                      }

                      $foo = new Foo();
                      $foo->variable "Foo";

                      function 
                      changeme(&$var)
                      {
                        
                      $bar = new Foo();
                        
                      $bar->variable "Bar";
                        
                      $var $bar;
                        
                      var_dump($var);
                      }

                      var_dump($foo);
                      changeme($foo);
                      var_dump($foo);

                      Im Übrigen: Wer PHP4 unterstützen soll oder will, dem gehört der Rechner weggenommen.
                      [url]www.php-maven.org[/url] PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
                      Twitter @ [url]https://twitter.com/#!/mepeisen[/url] und Facebook @ [url]http://t.co/DZnKSUih[/url]

                      Kommentar


                      • #71
                        Zitat von mermshaus Beitrag anzeigen
                        Da dürfte die deutsche Doku hinsichtlich einer „neueren“ PHP-Version falsch sein.
                        Ich denke auch. In der englischen Version steht ja auch geschrieben:

                        Since PHP 5, new returns a reference automatically, so using =& in this context is deprecated and produces an E_DEPRECATED message in PHP 5.3 and later, and an E_STRICT message in earlier versions. (Technically, the difference is that, in PHP 5, object variables, much like resources, are a mere pointer to the actual object data, so these object references are not "references" in the same sense used before (aliases). For more information, see Objects and references.)
                        Es ist also keine Referenz im eigentlichem Sinne sondern eine Kopie des Objektbezeichners, und der Hinweis aus der deutschen Version fehlt auch völlig.


                        Edit: In der deutschen Version steht aber auch über dem Hinweis:

                        Seit PHP 5 referenziert return new automatisch, also erzeugt die Verwendung der veralteten Syntax =& eine E_STRICT-Warnung.

                        Kommentar


                        • #72
                          Im Übrigen: Wer PHP4 unterstützen soll oder will, dem gehört der Rechner weggenommen.
                          Dann fühle ich mich da mal nicht angesprochen.
                          Viele Grüße,
                          Dr.E.

                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                          1. Think about software design [B]before[/B] you start to write code!
                          2. Discuss and review it together with [B]experts[/B]!
                          3. Choose [B]good[/B] tools (-> [URL="http://adventure-php-framework.org/Seite/088-Why-APF"]Adventure PHP Framework (APF)[/URL][URL="http://adventure-php-framework.org"][/URL])!
                          4. Write [I][B]clean and reusable[/B][/I] software only!
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

                          Kommentar


                          • #73
                            Danke Doc. Nun habe ich auch ab und zu mal Zeit mir das durch zu lesen. Das Tutorial basiert ja auf dem APF habe ich das richtig verstanden? Das heist um das wirklich nachvollziehen zu können was du da schreibst wäre es sinnvoll das APF zu downloaden und anhand dessen zu verstehen was da wie passiert?

                            Danke jedenfalls für deine Mühen.

                            Gruß Litter
                            Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                            [URL]http://www.lit-web.de[/URL]

                            Kommentar


                            • #74
                              APF ist generell, was solche Dinge betrifft, sehr gut beschrieben (Mal Lob an den Doktor rüberwerfen tut). Dort kannst auch für eigene Lösungen einiges rausziehen, wenn du es willst. Um es im ersten Schrit nachzuvollziehen, solltest dich aber generell erstemal damit einarbeiten, so wie bei jedem Framework.

                              Im übrigen sind fast alle guten und gängigen Frameworks modular aufgebaut. Du kannst dir ggf. die Teile rausziehen, die du brauchst und einiges umbauen, wenn du willst.
                              [url]www.php-maven.org[/url] PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
                              Twitter @ [url]https://twitter.com/#!/mepeisen[/url] und Facebook @ [url]http://t.co/DZnKSUih[/url]

                              Kommentar


                              • #75
                                Hi Litter,

                                das Tutorial basiert auf den Mechanismen des APF, kann aber - sofern die Mechanismen auch von anderen Produkten implementiert wären - auch übertragen werden. Das Konzept ist ja, URL und Software zu trennen bzw. nur lose zu koppeln. Inzwischen findest du eine Doku zu der neuen FilterChain-Implementierung aus 1.13/1.14 unter http://adventure-php-framework.org/Seite/137-Filter.

                                Im Fall des Textes im APF-Wiki benötigst du die Quellen des APF. Um eine einfache Spielwiese zu haben, kannst du dir die Sandbox herunterladen. Dies ist eine voll funktionsfähige Webseite, die als Basis für deine Tests dienen kann. Demnächst werden die Filter noch durch generische LinkSchemes ergänzt, die pro Applikation die Arbeit der Filter unterstützen. So ist es dann beispielsweise nicht mehr nötig einen expliziten Output-Filter zu implementieren, sondern der Applikation kann einfach ein anderes LinkScheme injiziert werden und die URLs haben nach der Formatierung durch selbiges das Format, das auch InputFilter "versteht". Die genannte Erweiterung wird in die Version 1.14 einfließen und ist in den nächsten Tagen im SVN verfügbar.

                                Solltest du Fragen, Probleme oder Diskussionsbedarf haben, meld dich einfach.
                                Viele Grüße,
                                Dr.E.

                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                1. Think about software design [B]before[/B] you start to write code!
                                2. Discuss and review it together with [B]experts[/B]!
                                3. Choose [B]good[/B] tools (-> [URL="http://adventure-php-framework.org/Seite/088-Why-APF"]Adventure PHP Framework (APF)[/URL][URL="http://adventure-php-framework.org"][/URL])!
                                4. Write [I][B]clean and reusable[/B][/I] software only!
                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

                                Kommentar

                                Lädt...
                                X