MVC für fortgeschrittene PHP-Entwickler [closed]

Lesezeit: 6 Minuten

MVC fur fortgeschrittene PHP Entwickler closed
Iwan

Ich brauche etwas Hilfe von erfahreneren Programmierern. Ich möchte meine MVC-Kenntnisse verbessern. Aber ich konnte bei Google kein gutes Tutorial für MVC finden. Google gibt immer “MVC für Anfänger” aus.

Ich verstehe, was MVC ist, und ich kann es machen, aber ich bin nicht erfahren genug, um etwas Praktisches in OOP zu tun.

Wenn jemand ein gutes objektorientiertes Tutorial für MVC kennt, verweisen Sie mich bitte an die richtige Stelle – ich suche nach guten Links, Büchern usw.

  • @Dr.House, eigentlich ist CI eines der zwei schlechtesten Frameworks in PHP. Neben Kuchen. Es implementiert weder MVC noch andere MVC-inspirierte Entwurfsmuster. Es stützt sich auf den globalen Zustand, enthält PHP4-Artefakte, bricht alle SOLID-Prinzipien und ignoriert SoC vollständig.

    – teresko

    3. Mai 2013 um 10:18 Uhr


  • Wenn Sie mehr über MVC erfahren möchten, ist CI eine der schlechtesten Möglichkeiten. Sie sind viel besser darin, die Top-Antworten dieses Benutzers zu lesen.

    – PeeHaa

    3. Mai 2013 um 10:22 Uhr


  • Fabien Potencier – Symfony ist KEIN MVC-Framework. Frameworks implementieren MVC nicht. Dein Code tut es.

    – teresko

    3. Mai 2013 um 10:37 Uhr

  • @tereško, in der Tat ein Webpartisan! Ich sage das konstruktiv: Ich bemerke, dass Ihre Äußerungen häufig so aggressiv sind (oben und in Ihren Kommentaren zu Redreggae) und eine Herangehensweise gebrauchen könnten, die weniger Anstoß erregt. Für jedes erfolgreiche Open-Source-Projekt gibt es Menschen, die ihr Herz und ihre Seele hineinstecken, und auch Schweiß und Tränen, sollte ich denken! Symfony 1 war, ob Sie glauben, dass es dem heutigen Entwicklungsstand entspricht oder nicht, ein großartiges Framework mit einem geschäftigen Ökosystem drumherum. Kurzfassung: Seien Sie positiv kritisch, aber regnen Sie nicht auf die Arbeit der Menschen.

    – Halber

    3. Mai 2013 um 20:16 Uhr


  • Stimmen wieder löschen. Jawohl, scheint diese Frage nicht konstruktiv zu sein. Aber, Nein – es sollte nicht sein gelöscht. Lass es geschlossen – und das reicht. Denn: es enthält sehr hilfreich Antworten.

    – Alma tun

    29. April 2014 um 6:12 Uhr

MVC fur fortgeschrittene PHP Entwickler closed
teresko

Links, die reines PHP-Material enthalten, sind mit gekennzeichnet php zur leichteren Identifizierung.

Sie können nicht einmal anfangen, sich mit MVC zu beschäftigen, bevor Sie ein umfassendes Verständnis von OOP haben. Dazu gehören OOP-Praktiken (Abhängigkeitsspritze, Unit-Tests, Refactoring) Prinzipien (SOLIDE, SoC, CQS, LoD) und allgemeine Muster (und nein, Singleton ist kein objektorientiertes Muster).

MVC ist ein fortschrittliches architektonisches Entwurfsmuster, das ein solides Verständnis erfordert. es ist nicht für Anfänger gedacht oder für winzige “Hallo Welt”-Anwendungen. Man verwendet MVC, um der Codebasis zusätzliche Einschränkungen hinzuzufügen, wenn die einfache Einhaltung von OOP-Praktiken zu locker wird, um die Codebasis zu kontrollieren.

Das Beste, was ich Ihnen vorschlagen kann, wäre, zunächst Ihr Wissen über objektorientierten Code zu erweitern:

Die beiden obigen Vorlesungen sollten die Grundlagen abdecken. Und dann weiter zu:

Wenn Sie alles verstanden haben, was in dieser Serie erklärt wurde, können Sie weitermachen:

Außerdem würde ich Ihnen dringend empfehlen, (in dieser Reihenfolge) zu lesen:

PS: Sie können sich auch dieses Buch ansehen (vorsichtig, weil es Probleme gibt): Guide to PHP Design Patterns php

  • Wie die von Google Talk, weil im Rahmen des Testens. Danke für die Liste.

    – woismydipp

    12. September 2013 um 7:28 Uhr

  • @tereško Dies ist einer der besten Links, die ich noch nie gelesen habe. Vielen Dank für die Links. Ist es möglich, den tatsächlichen Grund für Unit-Tests in PHP zu erklären. Ich wollte nur wissen, wie wichtig Unit-Tests in Frameworks sind, indem ich Tools wie phpUnit oder Jenkins usw. verwende. Können wir das ignorieren? . Ich stelle diese Frage , weil ich beim Schreiben von Code oft das Gefühl bekomme , dass ich Code schreibe , um sicherzustellen , dass ich die PHP – Einheit einfach verwenden kann , um seine Funktionalität zu testen . Daher erfordert die Verwendung von phpunit mehr Entwicklungsaufwand.

    – Aravind.HU

    30. September 2013 um 5:55 Uhr

  • Zunächst einmal ist Jenkins ein kontinuierliches Integrationstool. Anderes Thema. Was Unit-Tests betrifft – nein, tun Sie nicht brauchen um es zu benutzen. Es sollte nicht mehr Zeit in Anspruch nehmen, Code zu schreiben, der getestet werden kann. Wenn Sie guten OOP-Code schreiben (kein globaler Zustand, Abhängigkeitsinjektion, wo nötig), dann ist die Möglichkeit, ihn zu testen, nur ein Nebeneffekt. Und wenn Sie Tests schreiben würden, würde dies zusätzliche Zeit erfordern. Dieser Vortrag könnte erklären, was die Vorteile sind und wie man diese Tests schreibt.

    – teresko

    30. September 2013 um 6:27 Uhr

  • Die Sache ist, wenn Sie ohne Tests entwickeln, läuft der Arbeitsablauf so ab: Sie schreiben einen Code, Sie laden ihn hoch, dann füllen Sie einige Daten in verschiedene Formulare ein oder klicken Sie herum und sehen Sie, ob es funktioniert.. dann wiederholen Sie. Es dauert jedes Mal Zeit, die Daten auszufüllen. Mit Unittests können Sie eine Liste mit Eingaben und erwarteten Ausgaben vordefinieren, sodass Sie das 50-Felder-Versicherungsformular nicht zum 100. Mal ausfüllen müssen, nur um zu testen, ob die Validierung im 32. Feld korrekt funktioniert. Und jedes Mal, wenn Sie einen Fehler finden, fügen Sie einfach einen Test mit Daten hinzu, die diesen Fehler und die eigentliche Ausgabe replizieren.

    – teresko

    30. September 2013 um 6:27 Uhr

  • Eine andere Sache, die Komponententests tun, ist – Sie (oder einen übereifrigen Kollegen) daran zu hindern, Bugfixes im Namen von zu entfernen “Optimierung”, nur weil jemand nicht weiß oder sich nicht erinnern kann, “warum gibt es diese seltsame 3. Bedingung in der IF-Anweisung?”. Wenn Sie etwas entfernen, das den Code bricht, wird es wahrscheinlich von Einheitentests aufgegriffen.

    – teresko

    30. September 2013 um 6:28 Uhr

Was ich Ihnen empfehle, ist ein Buch über Designmuster. Die meisten dieser Bücher behandeln auch das MVC-Muster, und die anderen Muster sollten Sie kennen, wenn Sie ein vollständiges Framework erstellen.

Ein gutes Buch ist PHP-Entwurfsmuster. Ich weiß nicht, ob es auf Englisch existiert, aber ich würde nach anderen Büchern suchen und den Inhalt vergleichen.

  • Kapitel 4, Erzeugungsmuster, behandelt Entwurfsmuster, die eingesetzt werden, um Objekte zu erzeugen. Vorgestellt werden in diesem Kapitel das “Singleton-Pattern”, das “Factory-Method-Pattern”, “Abstract-Factory-Pattern” und das “Prototype-Pattern”. .. und im letzten Kapitel geht es um PEAR. Das erscheint nicht allzu vielversprechend.

    – teresko

    3. Mai 2013 um 10:46 Uhr


  • @tereško na und? Glaubst du, das Buch ist scheiße, weil es das Singleton-Muster abdeckt?

    – bitWorking

    3. Mai 2013 um 10:49 Uhr


  • Es ist schwer zu sagen (beachten Sie, dass ich weder gesagt habe, dass es “scheiße” ist, noch abgelehnt habe). Ich sage nur, dass man vorsichtig sein sollte, es zu lesen. Vor allem, wenn man die Gesamtmenge an Mist in “php-Büchern” mitzählt.

    – teresko

    3. Mai 2013 um 10:55 Uhr

985710cookie-checkMVC für fortgeschrittene PHP-Entwickler [closed]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy