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 vonMVC 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
.
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!

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.

SessionLockingIsatechniqueUTToensureUsers'SSessionSessionSeSexclusivetooneuseratatim.itiscrialtforpreventingDatacorruptionandSecurityBreachesinmulti-UserApplications

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.

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.

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.

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

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,

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.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

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

Heißer Artikel

Heiße Werkzeuge

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

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
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Dreamweaver Mac
Visuelle Webentwicklungstools

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion
