templates und klassen

hmmNaGut

Erfahrenes Mitglied
Hi, und zwar ich habe eine Klasse namens
UserManager

Dieser ist zum verwalten,überprüfen,login, logout.

Diese Klasse ist auch für die Ausgabe zuständig.
No premission, User Existiert bereits, sie sind bereits eingeloggt.

Diese werden Mittels Definerten Fehlercodes zurück gegeben.

Ich würde einen kleinen denk Anstoss gebrauchen, die Klasse funktioniert so weit,
aber ich möchte

Login Box
Logout Box
...

Den Source nicht in meiner Klasse stehen haben..

Mein Ansatz ist:

Loginbox.tpl -> Mit der genau Login Box
logoutbox.tpl-> Mit dem Link zum Ausloggen
premission_denieded.tpl ->..
..

Diese Werte dann ersetzen (verwende Smarty).
und das an das Haupttemplate übergeben.

HTML:
<!-- page.tpl -->

<html>
    <head>
       {$stitel}
    </head>
    <body>
     {$left]
     {$content}
    </body>
</html>

<!-- Nur so mal -->
 
Hm... Smarty Doku lesen? Das ist ja schon Basiswissen. Alternativ: eigene Template Engine schreiben die deine Bedürfnisse erfüllt.
 
Danke.
Doku lesen, okay bin dabei.

In meiner Frage ging es jetzt nicht unbedingt um Smarty sondern ob der Ansatz das Problem durch Mehrer selbstständige Templates zu lösen und diese
dann in ein grosses Template einzubinden.

Oder ob ich vielleicht den Code in
der Klasse erstellen soll und diese dann in die Variable $left ausgebe.

Aber ich werde mich nach der ersten Variante richten.

P.S.: Smarty unterstützt das was ich meine, habe gelesen ;)

Grüsse Patrick
 
Die eigene Templateengine ist immer besser ;). Hier mal zu deinen Problem.
deine Klasse:
PHP:
[....]
if($login == true){
   $smarty->assign('LOGIN', true);
} else {
   $smarty->assign('LOGIN', false);
}
if($login_error == true){
   $smarty->assign('LOGIN_ERROR', true);
} else {
   $smarty->assign('LOGIN_ERROR', false);
}
[....]
dein Template:
HTML:
<!-- page.tpl -->

<html>
    <head>
       {$stitel}
    </head>
    <body>
     {$left]
     {$content}
     {if $LOGIN}
         {include file="logoutbox.tpl"}
     {else}
         {include file="Loginbox.tpl"}
     {/if}
   {if $LOGIN_ERROR}
     {include file="premission_denieded.tpl"}
   {/if}
    </body>
</html>

<!-- Nur so mal -->

Prinzip verstanden?
 
Ja, danke.

Bin schon dabei meine Sachen auszubauen!!

;)

Ja eigene Template Engine.
Smarty ist so gross,
und ich verwende es ja nur wegen dem Arbeitsaufwand den ich mir erspare.
Da ich schon mit die Klassen Restlos überforder bin ;)

Ausserdem besitzt es eine Cache Funktion und
"Compiliert" die Dateien vor.
 
Ja eigene Template Engine.

Das meinte ich eher spassig, Smarty ist mittlerweile schon ein Standard und hat ein paar Jahre Entwicklungszeit hinter sich. Wer natürlich viel Zeit hat schreibt seine eigene, ich habe die Zeit nicht ;). Viel eher ist ein PHP-Framework interessant, wie ZEND, aber sowas kann man dann ebend auch selbst schreiben- beruhend auf smarty :). Also ich bin mit meinen Framework vollauf zufrieden...
 
Ein Framework nimmt dir viel Schreibarbeit beim coden ab, wie z.B. den Datenbanklayer oder die HTML Forms. Desweiteren bringt es gleich ein Errorhandling mit usw..... ;)


Edit: echo getTable(5;100);
würde z.B. eine Tabelle mit 5 Spalten und 100 Zeilen ausgeben, wie du siehst das ganze ist in einer zeile geschrieben. ;)
 
Zuletzt bearbeitet von einem Moderator:
Habe gerade bei wiki geschaut

Ein Framework ist selbst noch kein fertiges Programm, sondern stellt den Rahmen, innerhalb dessen der Programmierer eine Anwendung erstellt, zur Verfügung, wobei u. a. durch die in dem Framework verwendeten Entwurfsmuster auch die Struktur der individuellen Anwendung beeinflusst wird. Beispielsweise unterstützten die MFC das Model-View-Controller-Muster.
Das Framework steht mit dem Software-Paket und der Software-Komponente in Beziehungen, unterscheidet sich aber von diesen in einigen wichtigen Punkten.

Ein Framework gibt somit in der Regel die Anwendungsarchitektur vor. Dabei findet eine Umkehrung der Steuerung (Inversion of Control) statt: Der Programmierer registriert konkrete Implementierungen, die dann durch das Framework gesteuert und benutzt werden, statt – wie bei einer Klassenbibliothek – lediglich Klassen und Funktionen zu benutzen. Wird das Registrieren der konkreten Klassen nicht fest im Programmcode verankert, sondern wird „von außen“ konfiguriert, so spricht man auch von Dependency Injection.

Ein Framework definiert insbesondere den Kontrollfluss der Anwendung und die Schnittstellen für die konkreten Klassen, die vom Programmierer erstellt und registriert werden müssen. Frameworks werden also i. A. mit dem Ziel einer Wiederverwendung „architektonischer Muster“ entwickelt und genutzt. Da solche Muster nicht ohne die Berücksichtigung einer konkreten Anwendungsdomäne entworfen werden können, sind Frameworks meist domänenspezifisch oder doch auf einen bestimmten Anwendungstyp beschränkt. Beispiele sind Frameworks für grafische Editoren, Buchhaltungssysteme oder elektronische Warenhäuser im World Wide Web.

Naja, wirklich schlau bin ich jetzt nicht geworden ;)

Ein Framework übernimmt die Verarbeitung und leitet diese an die Klassen die
durch den User in das Framework integriert wurde weiter.

Dieser macht seinen JOB und fertig, kann aber noch wichtige und nützliche Funktionen vom Framework verwenden.
 

Neue Beiträge

Zurück