


Yii Framework Offizieller Leitfaden Serie 15 – Grundlagen: Best MVC Practices
Obwohl Model-View-Controller (MVC) bei fast jedem Webentwickler bekannt ist, wie wird er in der tatsächlichen Anwendungsentwicklung eingesetzt? Die Verwendung von MVC bereitet vielen Menschen immer noch Probleme. Die Kernidee hinter MC ist die Wiederverwendbarkeit des Codes und die Trennung von Logik und Ansichten . In diesem Abschnitt beschreiben wir, wie Sie MVC besser zum Entwickeln von Anwendungen verwenden können, wenn Sie das Yii-Framework verwenden.
Zur besseren Erklärung gehen wir davon aus, dass die Webanwendung die folgenden Unteranwendungen enthält:
-
Frontend: eine öffentliche Website-Schnittstelle für Endbenutzer;
Backend: Bietet Verwaltungsfunktionen zur Verwaltung der gesamten Website-Anwendung, auf die normalerweise nur Administratoren zugreifen und sie verwenden können.
Konsole: Kann in einem Terminalfenster ausgeführt werden Anwendungen, die Konsolenbefehle enthalten;
Web-API: Bietet eine Schnittstelle für Dritte zur Interaktion mit dieser Anwendung.
Diese Unteranwendungen können in Form von Modulen implementiert werden oder es kann sich um Yii-Anwendungen handeln, die Code mit anderen Unteranwendungen teilen.
1. Modelle
Modelle stellen die zugrunde liegende Datenstruktur einer Webanwendung dar. Beispielsweise kann es sich um ein LoginForm
-Modell handeln Wird sowohl vom Front-End als auch vom Back-End einer Anwendung verwendet. Ein News
-Modell kann daher von den Konsolenbefehlen, Web-APIs und dem Front-/Back-End einer Anwendung verwendet werden 🎜>
- sollte Geschäftslogik (z. B. Validierungsregeln) enthalten, um sicherzustellen, dass die dargestellten Daten die Designanforderungen erfüllen;
- kann Code zum Bearbeiten von Daten enthalten. Beispielsweise kann ein -Modell neben der Darstellung der Sucheingabedaten eine
- -Methode zum Implementieren der eigentlichen Suche enthalten.
Manchmal kann das Befolgen der letzten Regel dazu führen, dass ein Modell sehr fett wird und zu viel Code in einer einzelnen Klasse enthält. Außerdem kann es schwierig sein, das Modell zu warten, wenn der darin enthaltene Code anderen Zwecken dient 🎜> Das Modell kann eine Methode namensSearchForm
search
enthalten, die nur vom Front-End verwendet wird. Es kann auch eine Methode namens
News
getLatestNews
getDeletedNews
Definieren Sie eine
-
-Modell, indem Sie vonNewsBase
Definieren Sie in jeder Unteranwendung ein aus den gesamten Code platzieren, der für die Unteranwendung spezifisch ist in diesem - -Modell.
-Modell in der Front-End-Anwendung hinzufügen, das nur das enthältNews
NewsBase
News
Wenn wir also diese Strategie in unserem obigen Beispiel anwenden würden, würden wir ein -Methode, und wir würden ein weiteres
-Methode enthält.News
getLatestNews
Im Allgemeinen sollten Modelle keine Logik enthalten, die sich direkt mit Endbenutzern befasst. Genauer gesagt sollten ModelleNews
getDeletedNews
nicht
,- oder andere ähnliche Variablen verwenden, die direkt mit der Endbenutzeranforderung verknüpft sind. Denken Sie daran, dass ein Modell möglicherweise von verwendet wird eine völlig andere Unteranwendung (z. B. Unit-Test, Web-API), die diese Variablen möglicherweise nicht zur Darstellung von Benutzeranforderungen verwendet. Diese Variablen, die sich auf die Benutzeranforderung beziehen, sollten vom Controller verarbeitet werden.
$_GET
$_POST
Es sollte vermieden werden, HTML oder anderen Präsentationscode einzubetten. Da der Präsentationscode je nach den Anforderungen des Endbenutzers variiert (z. B. können Front-End und Backend die Details einer Nachricht in völlig unterschiedlichen Formaten anzeigen), sollte er besser durch Ansichten berücksichtigt werden.2. Ansichten
Ansichten sind dafür verantwortlich, Modelle in dem Format darzustellen, das Endbenutzer wünschen. Im Allgemeinen sollten Ansichten
sein enthalten hauptsächlich Präsentationscode wie HTML und einfachen PHP-Code zum Durchlaufen, Formatieren und Rendern von Daten.
Es sollte vermieden werden, Code zu enthalten, der explizite DB-Abfragen ausführt. Solcher Code sollte besser in Modellen platziert werden .
-
sollte den direkten Zugriff auf
, oder andere ähnliche Variablen vermeiden, die die Endbenutzeranforderung darstellen. Dies ist die Aufgabe des Controllers Anzeige und Layout der vom Controller und/oder Modell bereitgestellten Daten, jedoch kein Versuch, direkt auf Anforderungsvariablen oder die Datenbank zuzugreifen. kann direkt auf Eigenschaften und Methoden von Controllern und Modellen zugreifen. Dies sollte jedoch nur zu Präsentationszwecken erfolgen.
Ansichten können auf unterschiedliche Weise wiederverwendet werden:
Layout: gemeinsame Präsentationsflächen (z. B. Seitenkopf, Fußzeile) können in eine Layoutansicht eingefügt werden.
Teilansichten: Verwenden Sie Teilansichten (Ansichten, die nicht durch Layouts dekoriert werden), um Fragmente des Präsentationscodes wiederzuverwenden. Beispielsweise verwenden wir
_form.php
Teilansicht, um das Modelleingabeformular darzustellen, das sowohl auf den Modellerstellungs- als auch auf den Aktualisierungsseiten verwendet wird.Widgets: wenn für die Präsentation viel Logik erforderlich ist B. eine Teilansicht, kann die Teilansicht in ein Widget umgewandelt werden, dessen Klassendatei der beste Ort ist, um diese Logik zu enthalten. Für Widgets, die viel HTML-Markup generieren, ist es am besten, für das Widget spezifische Ansichtsdateien zu verwenden, um das Markup zu enthalten.
Hilfsklassen: In Ansichten benötigen wir oft einige Codeausschnitte, um das Markup zu enthalten Erledigen Sie kleine Aufgaben wie das Formatieren von Daten oder das Generieren von HTML-Tags. Anstatt diesen Code direkt in den Ansichtsdateien zu platzieren, besteht ein besserer Ansatz darin, alle diese Codeausschnitte in einer Ansichts-Hilfsklasse zu platzieren. Dann verwenden Sie einfach die Hilfsklasse in Ihren Ansichtsdateien. Yii liefert ein Beispiel für diesen Ansatz. Yii verfügt über eine leistungsstarke CHtml-Hilfsklasse, die häufig verwendeten HTML-Code erstellen kann. Hilfsklassen können in einem automatisch ladbaren Verzeichnis abgelegt werden, sodass sie ohne explizite Klasseneinbindung verwendet werden können.
3. 控制器
Controller sind der Klebstoff, der Modelle, Ansichten und andere Komponenten zu einer ausführbaren Anwendung zusammenhält. Controller sind für die direkte Bearbeitung von Endbenutzeranfragen verantwortlich. Daher können Controller
auf
$_GET
,$_POST
und andere PHP-Variablen zugreifen, die Benutzeranfragen darstellen;können Modellinstanzen erstellen und verwalten ihre Lebenszyklen. Beispielsweise kann der Controller bei einer typischen Modellaktualisierungsaktion zunächst die Modellinstanz erstellen. Füllen Sie dann das Modell mit der Benutzereingabe von
$_POST
; Nach erfolgreichem Speichern des Modells leitet der Controller den Benutzerbrowser möglicherweise zur Modelldetailseite weiter. Beachten Sie, dass sich die eigentliche Implementierung zum Speichern eines Modells im Modell und nicht im Controller befinden sollte.Es sollte vermieden werden, eingebettete SQL-Anweisungen zu enthalten, die besser in Modellen aufbewahrt werden.
sollte vermeiden, HTML oder andere Präsentations-Markups zu enthalten. Dies wird besser in Ansichten aufbewahrt.
In einer gut gestalteten MVC-Anwendung sind Controller oft sehr dünn und enthalten wahrscheinlich nur ein paar Dutzend Codezeilen; während Modelle sehr umfangreich sind und den größten Teil des Codes enthalten, der für die Darstellung und Bearbeitung der Daten verantwortlich ist. Dies liegt daran, dass die durch Modelle dargestellte Datenstruktur und Geschäftslogik typischerweise sehr anwendungsspezifisch ist und stark angepasst werden muss, um die spezifischen Anwendungsanforderungen zu erfüllen. während die Controller-Logik in allen Anwendungen häufig einem ähnlichen Muster folgt und daher durch das zugrunde liegende Framework oder die Basisklassen durchaus vereinfacht werden kann ,更多相关内容请关注PHP中文网(www.php.cn)!

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

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Yii ist ein leistungsstarkes MVC-Framework auf Basis von PHP. Es bietet einen sehr umfangreichen Satz an Tools und Funktionen zur Unterstützung der schnellen und effizienten Entwicklung von Webanwendungen. Unter anderem hat die RESTfulAPI-Funktion des Yii-Frameworks immer mehr Aufmerksamkeit und Liebe von Entwicklern auf sich gezogen, da mit dem Yii-Framework problemlos leistungsstarke und leicht skalierbare RESTful-Schnittstellen erstellt werden können, die die Entwicklung von Webanwendungen stark unterstützen. Einführung in RESTfulAPI RESTfulAPI ist eine

Mit der rasanten Entwicklung von Webanwendungen ist die moderne Webentwicklung zu einer wichtigen Fähigkeit geworden. Für die Entwicklung effizienter Webanwendungen stehen viele Frameworks und Tools zur Verfügung, unter denen das Yii-Framework ein sehr beliebtes Framework ist. Yii ist ein leistungsstarkes, komponentenbasiertes PHP-Framework, das die neuesten Designmuster und Technologien nutzt, leistungsstarke Tools und Komponenten bereitstellt und sich ideal für die Erstellung komplexer Webanwendungen eignet. In diesem Artikel besprechen wir, wie Sie das Yii-Framework zum Erstellen von Webanwendungen verwenden. Installieren Sie zuerst das Yii-Framework.

Schritte zum Implementieren von Webseiten-Caching und Seiten-Chunking mit dem Yii-Framework Einführung: Während des Webentwicklungsprozesses ist es zur Verbesserung der Leistung und Benutzererfahrung der Website häufig erforderlich, die Seite zwischenzuspeichern und zu segmentieren. Das Yii-Framework bietet leistungsstarke Caching- und Layoutfunktionen, die Entwicklern dabei helfen können, Webseiten-Caching und Seiten-Chunking schnell zu implementieren. In diesem Artikel wird erläutert, wie das Yii-Framework zum Implementieren von Webseiten-Caching und Seiten-Chunking verwendet wird. 1. Aktivieren Sie das Webseiten-Caching. Im Yii-Framework kann das Webseiten-Caching über die Konfigurationsdatei aktiviert werden. Öffnen Sie die Hauptkonfigurationsdatei co

In den letzten Jahren haben mit der rasanten Entwicklung der Spielebranche immer mehr Spieler begonnen, nach Spielstrategien zu suchen, die ihnen helfen, das Spiel zu bestehen. Daher kann die Erstellung einer Spielanleitungs-Website den Spielern den Zugang zu Spielanleitungen erleichtern und gleichzeitig den Spielern ein besseres Spielerlebnis bieten. Beim Erstellen einer solchen Website können wir das Yii-Framework für die Entwicklung verwenden. Das Yii-Framework ist ein Webanwendungsentwicklungsframework, das auf der Programmiersprache PHP basiert. Es zeichnet sich durch hohe Effizienz, Sicherheit und starke Skalierbarkeit aus und kann uns dabei helfen, einen Spielführer schneller und effizienter zu erstellen.

Yii-Framework-Middleware: Bereitstellung mehrerer Datenspeicherunterstützung für Anwendungen Einführung Middleware (Middleware) ist ein wichtiges Konzept im Yii-Framework, das mehrere Datenspeicherunterstützung für Anwendungen bereitstellt. Middleware fungiert wie ein Filter und fügt benutzerdefinierten Code zwischen den Anforderungen und Antworten einer Anwendung ein. Mithilfe der Middleware können wir Anforderungen verarbeiten, überprüfen, filtern und die verarbeiteten Ergebnisse dann an die nächste Middleware oder den endgültigen Handler weitergeben. Middleware im Yii-Framework ist sehr einfach zu verwenden

Yii-Framework-Middleware: Protokollierungs- und Debugging-Funktionen zu Anwendungen hinzufügen [Einführung] Bei der Entwicklung von Webanwendungen müssen wir normalerweise einige zusätzliche Funktionen hinzufügen, um die Leistung und Stabilität der Anwendung zu verbessern. Das Yii-Framework stellt das Konzept der Middleware bereit, das es uns ermöglicht, einige zusätzliche Aufgaben auszuführen, bevor und nachdem die Anwendung die Anfrage verarbeitet. In diesem Artikel wird erläutert, wie Sie die Middleware-Funktion des Yii-Frameworks verwenden, um Protokollierungs- und Debugging-Funktionen zu implementieren. [Was ist Middleware?] Middleware bezieht sich auf die Verarbeitung von Anfragen und Antworten vor und nach der Verarbeitung der Anfrage durch die Anwendung.

Verschlüsseln und Entschlüsseln sensibler Daten mithilfe der Yii-Framework-Middleware Einführung: In modernen Internetanwendungen sind Datenschutz und Datensicherheit sehr wichtige Themen. Um sicherzustellen, dass die sensiblen Daten der Benutzer nicht für unbefugte Besucher zugänglich sind, müssen wir diese Daten verschlüsseln. Das Yii-Framework bietet uns eine einfache und effektive Möglichkeit, die Funktionen zum Verschlüsseln und Entschlüsseln sensibler Daten zu implementieren. In diesem Artikel erfahren Sie, wie Sie dies mithilfe der Middleware des Yii-Frameworks erreichen. Einführung in das Yii-Framework Das Yii-Framework ist ein leistungsstarkes PHP-Framework.

Im Yii-Framework spielen Controller eine wichtige Rolle bei der Bearbeitung von Anfragen. Zusätzlich zur Verarbeitung regulärer Seitenanfragen können Controller auch zur Verarbeitung von Ajax-Anfragen verwendet werden. In diesem Artikel wird erläutert, wie Ajax-Anfragen im Yii-Framework verarbeitet werden, und es werden Codebeispiele bereitgestellt. Im Yii-Framework kann die Verarbeitung von Ajax-Anfragen über die folgenden Schritte erfolgen: Erstellen Sie zunächst eine Controller-Klasse (Controller). Sie können die vom Yii-Framework bereitgestellte grundlegende Controller-Klasse yiiwebCo erben
