suchen
HeimBackend-EntwicklungPHP-TutorialWas ist das Prinzip von MVC in PHP? Einführung in das MVC-Implementierungsprinzip von PHP (mit Code)

Einige Teile von MVC in PHP sind beispielsweise leicht zu verstehen. M ist das Modell, das die spezifische Geschäftslogik vervollständigt. V ist die Ansicht, die für die Anzeige von Informationen verantwortlich ist Verantwortlich für die Ausgabe von Befehlen und die Ausführung von Methoden. Bestimmen Sie, welche Methode zur Verarbeitung verwendet werden soll, und wie erfolgt die Implementierung des MVC-Prinzips in PHP? Lassen Sie uns Code verwenden, um das MVC-Prinzip eingehend zu verstehen.

1. Dateistruktur
Erstellen Sie 3 Ordner
Controller-Ordner zum Speichern von Controller-Dateien
Ansichtsordner zum Speichern von Ansichtsdateien
Modellordner zum Speichern von Datendateien
Erstellen Sie 1 index.php als einzigen Eingang
2. Controller
Wir erstellen eine democontroller.php-Datei im Controller-Ordner, der Dateiinhalt ist wie folgt

<?php 
class DemoController 
{ 
function index() 
{ 
echo(&#39;hello world&#39;); 
} 
} 
/* End of file democontroller.php */

In dieser Datei haben wir gerade ein Objekt namens DemoController erstellt und enthalten eine Indexmethode, die „Hallo Welt“ ausgibt. Führen Sie als Nächstes die Indexmethode im DemoController in index.php aus.
Der Code von index.php lautet wie folgt:

<?php 
require(&#39;controller/democontroller.php&#39;); 
$controller=new DemoController(); 
$controller->index(); 
/* End of file index.php */

Führen Sie index.php aus, ok, wie erwartet haben wir unser lange verlorenes Hallo gesehen Welt. Diese beiden Dateien sind sehr einfach, verraten aber auch ein wenig von der Essenz von MVC, indem wir den Controller, den wir ausführen möchten, über den einzigen Eingang ausführen. Natürlich sollte der Controller-Teil durch die URI bestimmt werden, also schreiben wir index.php neu, damit es bestimmen kann, welcher Controller über die URI ausgeführt werden soll.
Schreiben Sie den Code für index.php wie folgt um:

<?php 
$c_str=$_GET[&#39;c&#39;]; 
//获取要运行的controller $c_name=$c_str.&#39;Controller&#39;; 
//按照约定url中获取的controller名字不包含Controller,此处补齐。 $c_path=&#39;controller/&#39;.$c_name.&#39;.php&#39;; 
//按照约定controller文件要建立在controller文件夹下,类名要与文件名相同,且文件名要全部小写。 $method=$_GET[&#39;a&#39;]; 
//获取要运行的action require($c_path); 
//加载controller文件 $controller=new $c_name; 
//实例化controller文件 $controller->$method(); 
//运行该实例下的action /* End of file index.php */

Geben Sie http://localhost/index.php?c=demo&a=index in den Browser ein und erhalten Sie unsere Hallo-Welt. Wenn wir einen anderen Controller haben und ihn ausführen möchten, müssen wir natürlich nur die Werte von c und a in den URL-Parametern ändern.
Hier gibt es mehrere Probleme zu erklären.
1. PHP ist eine dynamische Sprache, um das gewünschte Objekt direkt abzurufen und die gewünschte Methode auszuführen, d. h. die neue oben $c_name, wir können es als neu verstehen „DemoController“, da der Wert von $c_name selbst „DemoController“ ist, ist natürlich direkt neu Das Schreiben von „DemoController“ auf diese Weise ist nicht möglich. Der String „DemoController“ muss über eine Variable übergeben werden. Die Methode ist dieselbe.
2. Der Wert von c in unserer URL ist demo, was $c_name bedeutet Der Wert sollte demoController sein. Ist die Groß-/Kleinschreibung nicht beachtet? Kann es trotzdem so ausgeführt werden? Der Satz „PHP unterscheidet zwischen Groß- und Kleinschreibung“ ist unvollständig. In PHP wird die Groß-/Kleinschreibung nur bei Variablen (mit vorangestelltem $) und Konstanten (definiert durch „define“) berücksichtigt, während bei Klassennamen, Methodennamen und sogar einigen Schlüsselwörtern die Groß-/Kleinschreibung nicht beachtet wird. Geschrieben. Und wahr, falsch, null usw. können nur aus Groß- oder Kleinbuchstaben bestehen. Natürlich sollten wir beim eigentlichen Kodierungsprozess besser auf die Groß-/Kleinschreibung achten.
3. Ansicht
Wir haben im vorherigen Controller nur eine „Hallo Welt“ ausgegeben, die den Effekt von mvc nicht erreicht hat Ich glaube, dass es so sein wird Hier kann sich im Grunde jeder vorstellen, wie man die Ansichtsfunktion hinzufügt. Ja, es wird erreicht, indem das Böse gefordert oder einbezogen wird.
Zuerst erstellen wir eine index.php unter dem Ansichtsordner und schreiben alles (haha, ich habe immer noch Hallo Welt geschrieben). Dann schreiben wir unseren vorherigen DemoController neu. Der Code lautet wie folgt:

<?php 
class DemoController 
{ 
function index() 
{ 
require(&#39;view/index.php&#39;); 
} 
} 
/* End of file democontroller.php */

Führen Sie ihn im Browser aus, um zu sehen, ob der gewünschte Inhalt ausgegeben wurde.
Dann übergeben wir einige Daten über den Controller an die Ansicht. Der Code lautet wie folgt:

<?php 
class DemoController 
{ 
function index() 
{ 
$data[&#39;title&#39;]=&#39;First Title&#39;; 
$data[&#39;list&#39;]=array(&#39;A&#39;,&#39;B&#39;,&#39;C&#39;,&#39;D&#39;); 
require(&#39;view/index.php&#39;); 
} 
} 
/* End of file democontroller.php */

Der Code der Datei index.php im Ansichtsordner lautet wie folgt:

<html> 
<head> 
<title>demo</title> 
</head> 
<body> 
<h1><?php echo $data[&#39;title&#39;];?></h1> 
<?php 
foreach ($data[&#39;list&#39;] as $item) 
{ 
echo $item.&#39;<br>&#39;; 
} 
?> 
</body> 
</html>

Verwandte Empfehlung:

Dugu Jiujian (8)_php entwickelt Ihr eigenes PHP-Framework von Grund auf

Das obige ist der detaillierte Inhalt vonWas ist das Prinzip von MVC in PHP? Einführung in das MVC-Implementierungsprinzip von PHP (mit Code). 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
So machen Sie PHP -Anwendungen schnellerSo machen Sie PHP -Anwendungen schnellerMay 12, 2025 am 12:12 AM

TomakePhpapplicationsfaster, folgt der THESESTEPS: 1) UseOpCodeCaching LikeopcachetOstorePrecompiledScriptByteCode.2) MinimizedatabasequeriesByusedQueryCachingandefficiendexing.3) Hebel -FeaturesForbetTerCodeeffizienz.4) Implementierungspflichtiger Strategie

Checkliste für PHP -Leistungsoptimierung: Verbesserung der Geschwindigkeit jetztCheckliste für PHP -Leistungsoptimierung: Verbesserung der Geschwindigkeit jetztMay 12, 2025 am 12:07 AM

ToimProvePhpapplicationSpeed, folge theSeSteps: 1) enableOpCodeCachingWithAPCUToreducescriptexexexeTime.2) ImplementDatabaseQueryCachingusedpdotominimizedatabaseHits.3) UseHttp/2TomultiplexRequeTsReconneconneconneconneconneconneconnectionOverhead.4))

PHP -Abhängigkeitsinjektion: Verbesserung der Code -TestbarkeitPHP -Abhängigkeitsinjektion: Verbesserung der Code -TestbarkeitMay 12, 2025 am 12:03 AM

Die Abhängigkeitsinjektion (DI) verbessert die Testbarkeit von PHP -Code durch explizit transitive Abhängigkeiten signifikant. 1) DI -Entkopplungsklassen und spezifische Implementierungen machen Tests und Wartung flexibler. 2) Unter den drei Typen injiziert der Konstruktor explizite Expressionsabhängigkeiten, um den Zustand konsistent zu halten. 3) Verwenden Sie DI -Container, um komplexe Abhängigkeiten zu verwalten, um die Codequalität und die Entwicklungseffizienz zu verbessern.

PHP -Leistungsoptimierung: DatenbankabfrageoptimierungPHP -Leistungsoptimierung: DatenbankabfrageoptimierungMay 12, 2025 am 12:02 AM

DatabaseQueryoPtimizationInphpinvolvesseveralStrategieShancePerformance.1) selectonlynn -nötigesColumntededatatransfer.2) Verwenden Sie IndexingTospeedUpDatarErvieval.3) ImplementQueryCachingtoStoreresultsOffRequerien.4) Nützliche Stände

Einfacher Handbuch: E -Mail mit PHP -Skript sendenEinfacher Handbuch: E -Mail mit PHP -Skript sendenMay 12, 2025 am 12:02 AM

PhpisusedForSensionsemailsDuetoitsbuilt-inmail () functionandSupportelibrary-LikephpmailerandSwiftmailer.1) UsetheMail () Funktionsbasicemails, Butithaslimitations.2) Verwenden SiePr

PHP -Leistung: Identifizieren und Beheben von EngpässenPHP -Leistung: Identifizieren und Beheben von EngpässenMay 11, 2025 am 12:13 AM

PHP -Performance -Engpässe können in den folgenden Schritten gelöst werden: 1) Verwenden Sie XDEBUG oder Blackfire für die Leistungsanalyse, um das Problem herauszufinden. 2) Datenbankabfragen optimieren und Caches wie APCU verwenden; 3) Verwenden Sie effiziente Funktionen wie Array_filter, um Array -Operationen zu optimieren. 4) Opcache für Bytecode -Cache konfigurieren; 5) Optimieren Sie das Front-End, z. B. die Reduzierung von HTTP-Anfragen und das Optimieren von Bildern; 6) Überwachen und optimieren Sie die Leistung kontinuierlich. Durch diese Methoden kann die Leistung von PHP -Anwendungen erheblich verbessert werden.

Abhängigkeitsinjektion für PHP: Eine kurze ZusammenfassungAbhängigkeitsinjektion für PHP: Eine kurze ZusammenfassungMay 11, 2025 am 12:09 AM

Abhängigkeitsinjektion (DI) InphpisadesignPatternThatManageSandRecesClass -Dependenzen, EnhancingCodemodularity, Testbarkeit und Maschinenbarkeit.itallowsspassingdependencieStaDatabaseConnectionStoclassesasparameters, Erleichterung der Erleichterung von Erleichterung von Vermittlungen und Erleichterung von Erleichterung von und scalierbarkeit.

Erhöhen Sie die PHP -Leistung: Caching -Strategien und -technikenErhöhen Sie die PHP -Leistung: Caching -Strategien und -technikenMay 11, 2025 am 12:08 AM

CachingimProvePhpperformanceByStoringResultsofComputationsorquerienforquickretrieval, ReducingServerloadAnenHancingResponSetimes.EffectivestrategieSinclude: 1) OpcodeCaching, die storesCompiledPhpScriptsinmemorytoskipcompilation;

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ßer Artikel

Nordhold: Fusionssystem, erklärt
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

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),

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung