dedlfix: Templates: XML, DB oder/und PHP für Linkliste, Newsübersicht etc

Beitrag lesen

Hi!

Ich programmiere schon seit zwei Jahren PHP - auch OOP5 - und wollte jetzt mal ein richtig sauberes Projekt - OO, mit Framework (kohana, oder was meint ihr? - mir geht's vor allem um ein sauberes (OO)-Konzept [Features kann man ja nachrüsten] - aber zurück zum eigentl. Thema), MVC etc. - auf die Beine stellen, weil ich endlich mal "zeitdrucklos" bin, d.h. ein netter Auftraggeber ;-)

Selbst ohne Zeitdruck, darf angezweifelt werden, ob du gleich beim ersten Wurf ein "sauberes" Ergebnis erzeugen kannst. Üblicherweise fängt man ja nicht erst dann zu programmieren an, wenn man sich "komplett" in ein neues System eingearbeitet hat. Dafür juckt es dann doch in den Fingern, und Theorie will durch Praxis bestätigt werden. Dazu erst ein Testprojekt aufsetzen, wenn man doch vielleicht gleich auf das Ergebnis des Lernprozesses für die eigentlich gplante Anwendung aufbauen kann ...?

Naja, wenn ich schon mal Zeit hab, will ich auch gleich besondere Features bieten, klar. Ich dachte mir da mal:
*1 CURIEs (ein Prefix für interne Links, ein Prefix für externe Links)

Davon lese ich gerade zum ersten Mal. Du meinst sicher W3Cs CURIE-Syntax. Aber abgesehen von meiner Unkenntnis diesbezüglich kann vermutlich auch kein anderer bewerten, was du dir dabei gedacht hast, wenn du die Anforderungen an das Projekt nicht beschreibst.

*2 Visitenkarten (werden automatisch in die xHTML-Mitarbeiterseite eingefügt - halt um Info und [HTML]-Formatierung zu trennen) - ich könnte mir auch vorstellen ein paar andere Infos nicht direkt als HTML zu schreiben.

Siehe oben.

*3 Links (eine Liste handerlesener [vielleicht zusätzlich auch eine Liste generierter] Links, die zu weiterführenden)

Dieser Satz ist nicht
Ansonsten, siehe oben. Welche Aufgabenstellung soll damit erfüllt werden?

Wie ihr ja sicher schon bei *2 bemerkt habt, tu' ich mir schwer: Ich halte es für unmöglich bzw. schaffe es nicht ;-), M und V eines MVC - oder hMVC, wie's jetzt in Kohana3 heißt ;-) - richtig zu trennen - ich meine, in Prinzip ist doch jeder Text in einer Webseite eine Information, d.h. es würde dann folglich zumindest theoretisch in das M gehören

Handelt es sich um statischen Text für das Seitengerüst oder um Inhalte, die aus einer Datenhaltung geholt werden? Manche Texte können auch gleich im von der View verwendeten Template stehen. Das musst du mit Erfahrung und unter Beachtung der Aufgabenstellung abschätzen, was wohin gehört. Um diese Erfahrung zu sammeln, wirst du hauptsächlich aus deinen Fehlern und Erfolgen lernen müssen. Selbst wenn du anderswo etwas abschaust, das sich dort bewehrt hat, heißt das noch lange nicht, dass das auch auf deinen Fall zutrifft.

  • anderseits muss ich ja den Text - gleich dort wo er gespeichert ist, sonst wird es unübersichtlich ;-) - formatieren (<b> [oder <strong> , wie es in "NeuHTMLisch" heißt ;-)], <p>), was meines Erachtens ein klarer V-Fall ist - also wohin damit?

Auch <b> ist mittlerweile wieder neuHTMLisch, aber sei's drum. Die Frage ist, ob es für dich zum Inhalt zählt oder zur Struktur. Texte in einem CMS sind Inhalt und mitunter auf irgendeine Weise vorformatiert, vielleicht mit HTML-Elementen, vielleicht mit einer anderen Syntax (z.B. Wiki), die erst noch geparst und umgesetzt werden muss.

Ich denke, das es wohl das Sinnvollste ist, Texte und andere menschenbestimmte semi- bis unstruktierten Daten in den View "auszulagern", weil die ja eh nur für die Präsentation (auch nur für Menschen) brauchbar sind, und nur strukturierten Einzug ins M zu gewähren. Was uns zur Frage bringt: Ab wann sind Daten strukturiert?

Egal ob strukturiert oder nicht, veränderliche Daten sind die, die man üblicherweise mit einem M abfragt. Es muss übrigens für einen Request nicht immer nur genau ein M, ein V und ein C verwendet werden. Ein C kann durchaus auch mehrere Ms befragen, oder der Request wird von mehreren Cs bedient, die jeweils ein Anzeigemodul mit Inhalt füllen (lassen). Den Kombinationsmöglichkeiten sind da keine Grenzen gesetzt.

Ich werde mich eben auf die Bücherauflistung, die News, die Linklisten und die Visitenkarten (sonst nur Texte, Lebensläufe, Publikationsangaben-Auflistungen) beschränken - alle einverstanden?

Ohne Wissen über die Anforderungen keine konkrete Meinung meinerseits.

Nun aber zur eigentlichen Frage: Wie macht man das so bei Frameworks - mit den strukturierten Daten?

Mach es, wie du es für sinnvoll und praktikabel hältst. Deine Ms sind nicht auf eine Technik beschränkt. Jedes M darf auch andere Datenquellenarten anzapfen. Das ist ja der Vorteil der Kapslung in das M, dass der C seine Daten bekommt, egal woher die Ms sie holen.

Randbemerkung: Ich habe oben sehr zur Vorgeschichte geschrieben, damit Anfangsdenkfehler oder Fehlschlüsse, wie es zu dieser Frage kam, vielleicht mir gleich offenbaren könnt. Danke, dass ihr euch meinen Roman durchlest! ;-)

Dein Ziel hast du nicht beschrieben, du philosophierst gerade nur über den Weg.

Lo!