Ich habe eine funktionierende zend mvc-Anwendung, die ein Layout verwendet, und dieses Layout verwendet externe Stylesheets und Skripte. Jede Seite der Site hat ihren eigenen Controller, und der seitenspezifische Inhalt jeder Seite befindet sich in der Datei index.phtml. Das Layout funktioniert, und alle Skripte/Stylesheets werden ordnungsgemäß für die index.phtml-Datei jedes Controllers angewendet.Zend MVC Seitenstruktur und Layout Linkpfade
Zum Beispiel ist die Startseite "mvcProject /", die die Indexaktion des Indexcontrollers aufruft, die die index.phtml-Datei verwendet, die dem Indexcontroller entspricht. Darüber hinaus ist die About Us-Seite "mvcProject/about", die den About-Controller aufruft und views/about/index.phtml anzeigt. Subjektiv empfand ich diese Struktur als ineffizient. Der Inhalt dieser Website ist nur HTML, und ich kann nicht sehen, warum jede Seite einen eigenen Controller benötigt.
Deshalb habe ich versucht, nur einen Controller zu verwenden, um das gleiche Ziel zu erreichen, nämlich dieselbe Architektur zu haben, indem ich jeder Seite eine eigene Aktion innerhalb des einzelnen Index-Controllers gebe. Die "Über uns" -Seite war also "mvcProject/index/about", so dass der Index-Controller die about-Aktion aufrufen würde, die die Datei views/index/about.phtml verwenden würde.
Dieser Ansatz löste alle Links zu externen Skripten/Stylesheets im Layout. Das Layout funktionierte immer noch, aber keiner der Pfade der Links funktionierte. Offensichtlich ist dies ein pfadbezogenes Problem, aber ich bin immer noch relativ neu in Zend, also war ich mir nicht sicher, wie ich das beheben könnte. Deshalb ging ich zurück und gab jeder Seite wieder ihren eigenen Controller.
Also meine Frage ist zweifach: Muss ich mich sorgen mit der Vermeidung der Blähung jeder Seite einen eigenen Controller zu geben, und wenn ich diese Struktur abbauen muss, was muss ich anpassen, um die Links zu korrigieren ' Wege? Vielen Dank dass Sie darüber nachdenken.
Sie verwenden das Zend-Framework, um nur HTML-Inhalte zu liefern, keine Datenbank, nichts Dynamisches? Es scheint, als ob Overkill dieses Framework für diese Aufgabe verwenden würde, geschweige denn, dass ein Controller für jede Seite übertrieben ist. Es ist nicht übertrieben, jeder Seite ihren eigenen Controller zu geben. Das ist, wofür MVC ist, Sie leiten eine Anfrage an einen Controller weiter, der Controller wird dann eine Antwort zurückgeben. Das ist die ganze Idee. Schau dir diese Frage über das Servieren von statischem Inhalt in Zend_Framework an (http://stackoverflow.com/questions/8946486/updated-best-practices-for-managing-static-content-inzend-framework) – Flukey
Einverstanden, das wäre Overkill für statischen Inhalt allein. Dies ist jedoch nur die erste Phase eines viel größeren Projekts. In ein oder zwei Wochen werde ich die Datenbanken hinzufügen. Danke für den Link. – dsulli