php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Scripts > BRAINSTORMING PHP/SQL/HTML/JS/CSS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


BRAINSTORMING PHP/SQL/HTML/JS/CSS Ihr habt eine Idee, aber keinen genauen Ansatz? Diskutiert mit anderen Usern des Forums über eure Gedankengänge um evtl. hilfreiche Ideen zu bekommen!
Normale Fragen bitte weiterhin in die entsprechenden Foren!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 09-12-2006, 23:01
Cyrus1972
 Newbie
Links : Onlinestatus : Cyrus1972 ist offline
Registriert seit: Jan 2004
Ort: Düsseldorf / Germany
Beiträge: 20
Cyrus1972 ist zur Zeit noch ein unbeschriebenes Blatt
Cyrus1972 eine Nachricht über ICQ schicken
Standard Was soll eine Template Class so können ?

Hallo Zusammen.

Nach längerer PHP abstinenz, dachte ich mir, ich versuche mich an eine eigene Template Class.

Sie soll nicht so überladen wie Smarty sein, aber in etwa selbe Funktionen bieten.

Jetzt stellt sich mir die Frage , was sollte so in einer Template Class so alles eingebaut sein ?

Derzeit sind Folgene grundfunktionen eingebaut.

{$vars} = normale Platzhalter ersetzen
{list from=$foo item=$bar} = Arbeitet nach dem Foreach Prinzip
{if $foo !=bar} = Normale If Abfrage (Kann man sich drüber streiten)

Weiterhin wird die Source template compiliert wie bei Smarty und auch in ein definiertes verzeichnis abgelegt.
Später soll noch eine Funktion rein die abfragt vom template neuer als compiled ist, um mehr geschwindigkeit rauszuholen.

Ich hoffe ihr koennt mir ein bischen auf die Sprünge helfen, und verzeiht meine Rechtschreibfehler

Gruss
Cyrus
__________________
Windows kann alles dank 32Bit.
Nach 32Bit, glaube ich auch das ich alles kann..
Mit Zitat antworten
  #2 (permalink)  
Alt 10-12-2006, 00:52
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

um ehrlich zu ein, habe ich mir diese frage heute auch gestellt.

includes halte ich noch für ganz nützlich.
bin mir nur noch nicht ganz im klaren, ob grundsätzlich php-incudes(php-geparst per include & ob-buffer) zugelassen werden sollen, oder nur reine template-includes(text-modus per fread).
soetwas in der art {include file="foo.ext" mode="php/text"} schwebt mit vor, enventuell noch ein flag in der klasse, ob php-includes erlaubt sind.

var modifiers könnte man auch noch hinzufügen.
so in etwa (vereinfacht, ohne parameter): {$var|modificator}
als modificator stelle ich mir als eine klasse vor, die dynamisch instanziert wird und eine vorgegebene methode implementiert, die einen string entgegennimmt und modifiziert returned.
z.b. du übergibst deinem template daten aus einem formular und der modifikator würde sich dann um htmlentities(), nl2br(), etc. ... "kümmern".

tjoh, das ist mir heute so in denn sinn gekommen.

Geändert von 3DMax (10-12-2006 um 00:54 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 10-12-2006, 03:28
Cyrus1972
 Newbie
Links : Onlinestatus : Cyrus1972 ist offline
Registriert seit: Jan 2004
Ort: Düsseldorf / Germany
Beiträge: 20
Cyrus1972 ist zur Zeit noch ein unbeschriebenes Blatt
Cyrus1972 eine Nachricht über ICQ schicken
Standard

Eigentlich keine schlechte idee.

Derzeit steht bei mir noch auf den Plan
  • Include von Templates
  • Plugins (?)
  • Funktionen
  • Cache
  • Verschachtelte Listen <> Blöcke

Ich denke mal das sollte für eine gute TemplateClass ja eigentlich reichen für alle Grundfunktionen

Oder noch irgendwelche anregungen ?
__________________
Windows kann alles dank 32Bit.
Nach 32Bit, glaube ich auch das ich alles kann..
Mit Zitat antworten
  #4 (permalink)  
Alt 10-12-2006, 15:17
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

Meiner Meinung nach sollte eine Template-Engine auf jeden Fall die Möglichkeit bieten Variablen zu ersetzen.

Weitere sinnvolle Sachen:
- Blöcke (genre auch verschachtelt)
- Andere Templates einbinden (include)
- ...

Meine Template-Engine bietet in der Grundversion lediglich die Möglichkeit Variablen zu ersetzen, inklusive der Möglichkeit diese bei der Ausgabe zu modifizieren, die Modifikatoren selbst gehören nicht dazu.

Darüberhinaus ist sie recht einfach erweiterbar.

Prinzip:
Code:
Hallo {var1}
wird ersetzt zu
PHP-Code:
return 'Hallo '.$data['var_1']; 
Code:
Hallo {var1 uppercase}
wird nicht kompiliert, es sei denn, es gibt eine Datei namens name_und_version_der_engine_modifier.uppercase.php, dann wird es ersetzt zu
PHP-Code:
return 'Hallo '.präfix_modifier_uppercase($data['var_1'], $class_instance); 
Bei Blöcken, Includes, ... gilt genau das gleiche Prinzip:
Code:
<h1>Alle Benutzer</h1>
{loop $all_user}
{if _first}<ul>{endif}
  <li>{user.name}</li>
{if _last}<ul>{endif}{endloop}
Wird nur dann kompiliert, wenn die Dateien ...command.loop.php, ...command.if.php, ...var.first.php und ...var.last.php vorhanden sind, da dort die Logik zum Generieren eines Blocks, für die if-Abfrage als solche und für die speziellen Variablen _first und _last enthalten sind.

Ich denke, dass ist vom Ansatz her gut, da ich eine relativ schlanke Basisklasse habe, die nur das nötigste (Variablenersetzung) bietet, alles andere, was ich ggf. noch brauche, wird durch entsprechende Extensions hinzugefügt und wirklich nur bei Bedarf beim Kompilieren geladen.
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #5 (permalink)  
Alt 10-12-2006, 18:16
Cyrus1972
 Newbie
Links : Onlinestatus : Cyrus1972 ist offline
Registriert seit: Jan 2004
Ort: Düsseldorf / Germany
Beiträge: 20
Cyrus1972 ist zur Zeit noch ein unbeschriebenes Blatt
Cyrus1972 eine Nachricht über ICQ schicken
Standard

Danke für die ideen.

Mal schauen was ich davon noch so einbauen werde.

Das mit dem Modifieren nur Compilieren wenn auch vorhanden klingt für mich als eine sehr gute idee, genauso wie das mit dem verschachtelten Blöcken.

Werde mich auf jedenfall nochmal melden wenn ich soweit fertig bin, und die Class hier vorstellen.
__________________
Windows kann alles dank 32Bit.
Nach 32Bit, glaube ich auch das ich alles kann..
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:20 Uhr.