2016-12-15 2 views
1

Ich bin neu in dem Konzept von MVC in PHP (oder für jede andere Programmiersprache). Ich verstehe, dass Model die Geschäftslogik handhabt und der Controller eine Art Klebstoff ist, der sowohl mit dem Modell als auch mit der Ansicht interagiert. Ich habe ein paar Beispiele, die ich auf Codeigniter gegeben habe, ermüdet. Die Beispiele zeigen, wie Sie sowohl Klassenmodell als auch Klassencontroller erweitern, und es funktioniert gut.Was macht Core-Controller-Klasse und Model-Klasse tun

Blick auf den Kern finde ich ein paar Dateien und eine Core-Controller und Core Model-Datei. Da ich neu im Konzept von MVC bin, verstehe ich nicht, was dieser Kerncontroller und Kernmodelldatei tut.

Kann jemand bitte erklären?

+0

"der Controller ist eine Art Klebstoff, der sowohl mit dem Modell als auch mit der Ansicht interagiert" - verwechseln Sie [MVC mit MVP] nicht (http://softwareengineering.stackexchange.com/questions/338143/what-are -die-verbesserungen-von-mvp-über-mvc) wie so viele andere vor dir. –

+0

@mistermartin, dies ist, was ich gelesen habe "Die letzte Komponente der Triade ist der Controller. Seine Aufgabe ist es, Daten zu handhaben, die der Benutzer eingibt oder einreicht, und das Modell entsprechend zu aktualisieren. Das Leben des Controllers ist der Benutzer ohne Benutzerinteraktionen Der Controller hat keinen Zweck. Er ist der einzige Teil des Musters, mit dem der Benutzer interagieren soll. " –

+0

Ich möchte nur darauf hinweisen, dass die Logik in MVC in einem kreisförmigen Muster fließen sollte. Die Ansicht wird an den Controller übergeben, der dann an das Modell übergeben wird, und das Modell aktualisiert dann die Ansicht. Mit anderen Worten, der Controller sollte niemals etwas an die Ansicht zurückgeben. Codeigniter bekommt das falsch. Es ist kein gültiger MVC. –

Antwort

0

Sie sind einfach die Basisklassen für alle benutzerdefinierten Controller oder Modellklassen, die Sie erstellen. Wenn Sie also Ihren eigenen Controller erstellt haben:

class MyController extends Controller { 

} 

Das Controller-Objekt hier ist CI Basis Controller-Klasse.

+0

ja hier erweitert der MyController Controller, um die Eigenschaften, Methoden der Basisklasse zu erben. Aber was genau macht dieser Basiscontroller? –

+0

@NidhiVij Schau dir den Code an! Wenn Sie ein erfolgreicher Softwareentwickler werden wollen, müssen Sie lernen, den Code anderer zu lesen. – thatidiotguy

Verwandte Themen