suchen
HeimBackend-EntwicklungPHP-TutorialMVC - Ein Problem oder eine Lösung?

MVC - a Problem or a Solution?

Repositories, Adapter, MVC, Solid, RTFM… Das Web wirft diese Begriffe ständig auf PHP -Entwickler aus. Ich bin es leid. Genug mit den Diktaten; Zeig mir die Kätzchen!

Schlüsselpunkte:

  • MVC ist keine magische Kugel für die Komplexität von Webanwendungen. Sauberer, wiederverwendbarer, entkoppelter Code ist die eigentliche Lösung, und das liegt beim Entwickler.
  • MVC ist wie jedes Muster ein Werkzeug. Gut verwendet, fördert es Flexibilität und Benutzerfreundlichkeit. Aber es wurde schrecklich überbeansprucht und missbraucht.
  • wenden Sie nicht blind muster an. Ihre Stärken und Schwächen verstehen; Wählen Sie das richtige Werkzeug für den Job.

Software löst Probleme:

Wir erstellen Software, um Probleme zu lösen. Jede Codezeile befasst sich mit einem bestimmten Bedarf, egal ob sie die Welt retten oder süße Kätzchen anzeigen. Diesen Zweck respektieren.

Die Lösungen für diese Probleme verbinden sich zu größeren Systemen. Aber wie stellen wir sicher, dass unsere Lösungen effektiv, verständlich und wartbar sind?

Die "Eingröße passt zu allen" Mythos:

MVC wird häufig als einzig praktikable Lösung für Webanwendungen dargestellt. Die Gemeinschaft kritisiert oft diejenigen, die sie nicht benutzen, und erklärt selten , warum mvc angeblich überlegen ist.

Warum der MVC -Hype? Zu den häufig zitierten Leistungen gehören:

  • reduzierte Codekomplexität
  • Code -Wiederverwendbarkeit
  • erhöhte Flexibilität
  • entkoppelter Code

Aber sind diese Behauptungen wahr? Fehlen anderen Mustern diese Vorteile? Nr.

MVC löst nicht von Natur aus Komplexität, Wiederverwendbarkeit, Flexibilität oder Entkopplung. Entwickler Schreiben Sie sauber, flexibel und wiederverwendbarer Code. Wir brauchen MVC nicht mehr als JQuery, um document.getElementById() zu verwenden. Eine ausgezeichnete Software existierte lange vor MVC und wird weiterhin ohne sie gebaut.

MVC ist ein Muster, kein Allheilmittel. Es ist eines von vielen: Adapter, Fabriken, Singletonen, Module, Dolmetscher, Beobachter ...

Muster helfen, sie lösen nicht:

Muster helfen uns, bessere Code zu schreiben. Sie stellen Best Practices dar, aber die Best Practice variiert je nach Problem. Ein Boot eignet sich hervorragend zum Wasserreisen, nicht zum Pflügen von Feldern.

Jedes Muster hat Stärken und Schwächen. Das Werksmuster zeichnet sich bei der Erstellung von Objekten aus. Das Modulmuster hilft, Code in Sprachen zu strukturieren, ohne dass eine robuste Modulunterstützung fehlt (wie JavaScript). Das Beobachtermuster leuchtet bei der Ereignisbehandlung. MVC hilft bei der Entkopplung von Präsentation, Daten und Logik.

Die Überbeanspruchung von

MVC beruht auf der fehlgeleiteten Überzeugung, dass es sich um die universelle Lösung für PHP -Webanwendungen handelt. Starrende Regeln entstanden: Modelle spiegeln Datenbankzeilen, Dünnkontroller, Templating -Motoren aus ... dann kamen "Fat Controller" und die Proliferation von HMVC, MVA, MVP, MVVM, PAC ...

MVC: Der neue Singleton (oder IE8):

MVC ist nicht allein in seinem Missbrauch. Wie Keith betont, wurde das Singleton -Muster überbeansprucht, um die wahrgenommenen Übel der Globalen zu vermeiden, was zu Global::getInstance()->var statt $globalVar.

führte

Muster sind Werkzeuge, Entwickler sind die Handwerker:

Muster sind wertvoll, verwenden sie aber mit Bedacht und nachdenklich. Nichts ist schlimmer als ein Entwickler, der ein Muster missbilligt.

Erfinden Sie das Rad nicht neu. Viele intelligente Entwickler haben ähnliche Probleme vor Ihnen angegangen.

Mit der Datenbankintegration in Ihrem PHP zu kämpfen? MVC oder eine mehrstufige Architektur können helfen. Probleme mit faulem Laden? Ein Singleton könnte angemessen sein. Objekterstellung ein Ärger? Das Werksmuster kann helfen. Kommunikationsprobleme mit Inter-Service? Adapter sind dein Freund.

Schlussfolgerung:

verschiedene Muster bieten unterschiedliche Vorteile. Wählen Sie basierend auf dem Problem mit Bedacht. Wenn Sie MVC für eine einseitige Anwendung verwenden, löschen Sie sie.

Mögen die Muster mit Ihnen sein!

Häufig gestellte Fragen zu MVC- und PHP -Frameworks:

(Dieser Abschnitt bleibt weitgehend gleich, da er ein guter Überblick über MVC- und PHP -Frameworks ist.) Der vorhandene FAQ -Abschnitt enthält eine umfassende und genaue Erklärung von MVC in PHP -Frameworks, einschließlich Vergleiche verschiedener Frameworks und ihre Eignung für verschiedene Projekttypen. Hier sind keine Änderungen erforderlich.

Das obige ist der detaillierte Inhalt vonMVC - Ein Problem oder eine Lösung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Erklären Sie, wie sich das Lastausgleich auf das Sitzungsmanagement auswirkt und wie es angegangen werden soll.Erklären Sie, wie sich das Lastausgleich auf das Sitzungsmanagement auswirkt und wie es angegangen werden soll.Apr 29, 2025 am 12:42 AM

Lastausgleich beeinflusst das Sitzungsmanagement, kann jedoch durch Sitzungsreplikation, Sitzungsklebrigkeit und zentraler Sitzungsspeicher gelöst werden. 1. Sitzungsreplikationsdaten zwischen Servern. 2. Session Stickiness lenkt Benutzeranfragen auf denselben Server. 3. Zentraler Sitzungsspeicher verwendet unabhängige Server wie Redis, um Sitzungsdaten zu speichern, um die Datenfreigabe zu gewährleisten.

Erläutern Sie das Konzept der Sitzungsperrung.Erläutern Sie das Konzept der Sitzungsperrung.Apr 29, 2025 am 12:39 AM

SessionLockingIsatechniqueUTToensureUsers'SSessionSessionSeSexclusivetooneuseratatim.itiscrialtforpreventingDatacorruptionandSecurityBreachesinmulti-UserApplications

Gibt es Alternativen zu PHP -Sitzungen?Gibt es Alternativen zu PHP -Sitzungen?Apr 29, 2025 am 12:36 AM

Zu den Alternativen zu PHP-Sitzungen gehören Cookies, Token-basierte Authentifizierung, datenbankbasierte Sitzungen und Redis/Memcached. 1. Kookies verwalten Sitzungen, indem sie Daten über den Kunden speichern, was einfach, aber nur gering ist. 2. Altbasierte Authentifizierung verwendet Token, um Benutzer zu überprüfen, was sehr sicher ist, aber zusätzliche Logik erfordert. 3.Database-basiertssesses speichert Daten in der Datenbank, was eine gute Skalierbarkeit aufweist, die Leistung jedoch beeinflusst. V.

Definieren Sie den Begriff 'Sitzung' im Kontext von PHP.Definieren Sie den Begriff 'Sitzung' im Kontext von PHP.Apr 29, 2025 am 12:33 AM

Sessionhijacking bezieht sich auf einen Angreifer, der sich als Benutzer ausgibt, indem die SessionID des Benutzers angezeigt wird. Zu den Präventionsmethoden gehören: 1) Verschlüsseln der Kommunikation mit HTTPS; 2) Überprüfung der Quelle der SessionID; 3) mit einem sicheren Algorithmus zur Sitzung der Sitzung; 4) regelmäßig aktualisieren die SitzungID.

Was ist die vollständige Form von PHP?Was ist die vollständige Form von PHP?Apr 28, 2025 pm 04:58 PM

In dem Artikel werden PHP erörtert, in dem die vollständige Form, Hauptnutzungen in der Webentwicklung, der Vergleich mit Python und Java und seine Lernen des Lernens für Anfänger beschrieben werden.

Wie handelt es sich bei PHP um Formulardaten?Wie handelt es sich bei PHP um Formulardaten?Apr 28, 2025 pm 04:57 PM

PHP behandelt Formdaten mit $ \ _ post und $ \ _ GET Superglobals, wobei die Sicherheit durch Validierung, Bereinigung und sichere Datenbankinteraktionen gewährleistet ist.

Was ist der Unterschied zwischen PHP und ASP.NET?Was ist der Unterschied zwischen PHP und ASP.NET?Apr 28, 2025 pm 04:56 PM

Der Artikel vergleicht PHP und ASP.NET und konzentriert sich auf ihre Eignung für groß angelegte Webanwendungen, Leistungsunterschiede und Sicherheitsfunktionen. Beide sind für große Projekte lebensfähig, aber PHP ist Open-Source und plattformunabhängig, während ASP.NET,

Ist PHP eine Fallempfindlichkeit?Ist PHP eine Fallempfindlichkeit?Apr 28, 2025 pm 04:55 PM

Die Fallempfindlichkeit von PHP variiert: Funktionen sind unempfindlich, während Variablen und Klassen empfindlich sind. Zu den Best Practices gehören eine konsistente Benennung und Verwendung von Fall-unempfindlichen Funktionen für Vergleiche.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion