Frage

das PHP-Framework Ich verwende (Kohana) hat vor kurzem die HMVC Architektur implementiert. Ich habe gelesen, dass es sich um eine geschichtete mvc ist, wo Anfragen auf dem jeweils anderen gemacht werden. Es ist ein bisschen wie Ajax, nur rein serverseitige. Ich habe es ein bisschen auf einigen Experimenten angewandt, aber ich kann es jedem meiner Projekte nicht anwenden (weil ich keine Notwendigkeit für sie finden). Haben Sie schon einmal HMVC in einem Projekt, bevor sie verwendet? Wie hat es Ihnen helfen?

War es hilfreich?

Lösung

  

Es ist ein bisschen wie Ajax, nur rein serverseitige.

Das ist eine gute Analogie.

HMVC ist schön für das Hinzufügen von Widgets zu Seiten - modular Bits von Inhalten, die Sie auf wenigen Seiten wieder verwenden werden. Zum Beispiel, ein Einkaufswagen-Widget. Sie könnten die gleiche Sache auf verschiedene Weise tun:

  1. Eine Bibliothek. Wir sind daran gewöhnt, von einer Steuerung in eine Bibliothek wieder verwendbaren Code zu bewegen. Dann wird aus dem Controller, um die Ergebnisse eines Aufrufs dieser Bibliothek in eine Ansicht Variable geladen werden kann.
  2. Ein Blick. Sie könnten eine Ansicht (teilweise) aus der Hauptansicht laden. Diese Ansicht teilweise könnte in Inhalt von Modellen ziehen. Der Aufruf Modelle von Ansichten ist nicht immer beliebt, aber es ist nicht unbedingt falsch.

Allerdings hat Kohana HMVC einige Vorteile:

  1. Konsistenz -. HMVC Anfragen die gleichen wie externe HTTP-Anfragen behandelt werden
  2. Leistung - HMVC Anfragen haben die gleichen Kohana Ressourcen wie http einschließlich Routen fordert
  3. .
  4. steckbar - Wenn aus einer Ansicht genannt, eine HMVC Anfrage nicht über eine Kopplung zwischen dem Controller (die die Bibliothek Ergebnisse einer Ansicht zuweist) und eine Ansicht Platzhalter. Sie berühren nur eine Datei im Gegensatz zu zwei.

Ich fange an, den Fall für HMVC und Skalierbarkeit mit HTTP-Anfragen zu schätzen, wie durch Kiall verbunden. Dasselbe könnte mit CURL erfolgen. Allerdings könnte es natürlich sein Design mit Kohana HMVC als ROTATION von Anfang an.

Andere Tipps

Nun -. Sam de Freyssinet (aka samsoir), einer der von Kohana Entwickler, die vor kurzem einen Artikel Umgang mit dieser Frage veröffentlicht

http: //techportal.inviqa. com / 2010/02/22 / Skalierung-Web-Applikationen-mit-HMVC /

Während es ist nicht die einzige Anwendung für HMVC - Es ist eines der beliebtesten Anwendungen. Der Gegenstand wird in erster Linie mit der Skalierbarkeit betroffen (wie in, die Anzahl der Anfragen pro Sekunde), aber Code Skalierbarkeit (wie in, wie leicht / schwer ist der Code zu erhalten) kann mit den gleichen Ideen ..

„gelöst“ werden

Hope, das hilft:)

(Randbemerkung - seine Code-Beispiele sind auf Sams persönliche Änderungen an Kohana basiert - den Hinweis am Ende des Artikels)

In einem einfachen Projekt, das Sie nicht einmal könnte eine wirkliche Verwendung für HMVC architektonische Muster finden. Und Sie sollten nicht einmal versuchen. Hier ist der Grund:

Der springende Punkt eine HMVC Architektur bei der Erstellung war MVC ein bisschen DRY'er zu machen. Einer der wichtigsten Vorteile von HMVC ist die Wiederverwendung von Code. Damit können Sie Fragmente, die alle über die Anwendung wiederholen (manchmal in derselben Stelle, ein anderes Mal - nicht).

Wenn Sie als kleine Testanwendung schreiben, würde nicht irgendwelche wiederholbar Fragmente sein. So, keine Notwendigkeit, voll HMVC Potenzial zu nutzen. Sie enden nur mit 1 Niveau HMVC up, die Sie Standard-MVC ist.

Hier können Sie die ursprüngliche Publikation lesen, die eingeführt HMVC. In 2000..

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top