tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
12
ZUGRIFFE
456
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    nchristoph nchristoph ist offline Mitglied Platin
    Registriert seit
    Sep 2007
    Beiträge
    527
    Hallo zusammen,

    beim Durchstöbern von den Tutorials bin ich auf ein für mich Interessantes Tutorial gestossen und habe jetzt einige Fragen dazu.

    Templatesystem Klassen

    Meine Fragen dazu:

    1. Wenn ich jetzt eine Index.php habe und eine Erweiterung für die Seite schreiben möchte z.b. suche.php, muss ich dann beim $cat array auf die suche.php oder auf die suche.tpl verweisen?

    2. Muss der Template Aufruf in der Suche.php oder in der Index.php stattfinden?

    Es steht zwar geschrieben:

    Somit ist es möglich in jeder Datei zb. (modules/test.php) eine x-Beliebige datei zu erstellen.
    aber so schlau werd ich daraus nicht und dadurch entstehen meine 2 Fragen.

    mfg
     

  2. #2
    Avatar von Napofis
    Napofis Napofis ist offline require 'brain.php';
    Registriert seit
    Jun 2007
    Ort
    Bayern
    Beiträge
    587
    Ehrlich gesagt ist die Template Klasse nicht wirklich gut, die scheint von einen PHP Einsteiger geschrieben worden zu sein, da noch der ein oder andere Fehler drin steckt und es vieles gibt was man besser und performanter hätte lösen können.

    Ich glaub es wäre besser wenn du nach einer anderen Klasse suchst.
     

  3. #3
    nchristoph nchristoph ist offline Mitglied Platin
    Registriert seit
    Sep 2007
    Beiträge
    527
    Ich bin zwar schon ein alter Hase bei PHP aber trotzdem noch Grün hinter den Ohren bzw. extrem eingerostet bei gewissen Gebieten.

    Templates ist ein Gebiet wo ich extrem Grün bin:P

    Hast du einen Tip bezüglich Templateklassen?
     

  4. #4
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.521
    Jetzt mal unter uns: PHP ist bereist ein gutes Template-System. Man muss sich nur dazu hinreisen, endlich mal Präsentation von Logik zu trennen. Ein guter Weg ist beispw. die Logik-Scripts mit der Endung .php und die Präsentations-Scripts mit der Endung .phtml zu kennzeichnen.

    Ich bin ein starker Verfechter der Design-Patterns und gerade beim Trennen von Logik und Präsentation kann man hier in prima Entwurfsmuster empfehlen: MVC (Model-View-Controller). Wenn du mehr darüber wissen willst, frag nach.

    Es ist nur ein Vorschlag, etwas professioneller an die Sache ran zu gehen. Für viele ist es gewöhnungsbedürftig bis unverständlich.
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  5. #5
    nchristoph nchristoph ist offline Mitglied Platin
    Registriert seit
    Sep 2007
    Beiträge
    527
    Für viele ist es gewöhnungsbedürftig bis unverständlich.
    Für mich z.b.:P
    Heist das, dass ich mir das ganze Programmieren der Klasse sparen kann wenn ich die html Dateien in phtml umbennen?

    MVC werd ich gleich mal googlen.

    Achja: Meine Frage hat trotzdem keiner beantwortet:P
    Geändert von nchristoph (11.10.11 um 20:57 Uhr)
     

  6. #6
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.521
    Normalerweise konfiguriert man seinen Webserver so, das er .php-Dateien an den PHP-Parser übergibt. Wenn man jetzt in einem PHP-Script einen include() auf eine .phtml-Datei einfügt, wird diese phtml-Datei ganz genauso geparst wie ein .php-Script. Sogar eine .html-Datei würde wie ein PHP-Script geparst, wenn man sie über include() in ein PHP-Script einbindet.

    Von daher bin ich der Meinung, das diese Sache mit den ganzen zusätzlichen Template-Engines nur vergeudete Rechenzeit ist. Hier mal ein einfaches Beispiel:

    news.php - wäre jetzt mal unser Controller
    Code php:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
     
    $news = array();
    $news[] = array('title' => 'Überschrift der ersten News', 'text' => 'Irgend ein beliebig langer Text, der den Inhalt der ersten News wider gibt.', 'date' => '2011-10-10 19:00');
     
    $news[] = array('title' => 'Überschrift der zweiten News', 'text' => 'Wahnsinnig interessanter Text in der zweiten Schlagzeile.', 'date' => '2011-10-11 19:00');
     
    // ... weitere Nachrichten - könnt auch aus einem XML-File oder eine Datenbank kommen.
     
    include('presentation/news.phtml'); // um Aussehen von Programm-Code zu trennen

    presentation/news.phtml - Das Präsentationstemplate für die News
    Code php:
    1
    2
    3
    4
    5
    6
    
    <table class="news">
    <?php foreach($news as $single_news): ?>
      <tr class="news_header"><td><?php echo $single_news['title']; ?> vom <?php echo $single_news['date']; ?></td></tr>
      <tr class="news_body"><td><?php echo $single_news['text']; ?></td></tr>
    <?php endforeach; ?>
    </table>
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  7. #7
    Avatar von Napofis
    Napofis Napofis ist offline require 'brain.php';
    Registriert seit
    Jun 2007
    Ort
    Bayern
    Beiträge
    587
    Also eine Templateklasse ist schon etwas sehr hilfreiches allerdings nicht die oben genannte. Dort hätten es auch 2 include Anweisungen getan.

    MVC wende ich für die Extensions an, die die Ihnalte generieren die dann in die Platzhalter des Template geschrieben werden.

    Achja: Meine Frage hat trotzdem keiner beantwortet:P
    1. Je nachdem wie du die Unterseiten nennst, empfehlenswert wäre php statt tpl.
    2. index.php?id=(id des Array Elementes) Zugriffe auf suche.php solltest du blockieren.
     

  8. #8
    nchristoph nchristoph ist offline Mitglied Platin
    Registriert seit
    Sep 2007
    Beiträge
    527
    Ok ich hab das jetzt mal versucht, hat ja lange genug gedauert:P

    Mit MVC komm ich nicht wirklich zurecht, hab immer irgendwelche Warnings und Errors.

    Kann mir wer eine gute Templateklasse sagen?

    Hab versucht, PHP als Templateengine zu verwenden, wird aber mit der Zeit zu unübersichtlich und ist irgendwie Sicherheitstechnisch unsicher. Fragt mich nicht wieso.
     

  9. #9
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.521
    PHP ist die Template-Engine

    Smarty ist gut gepflegt und hat eine grosse Community.

    Ich persoenlich verwende aber ohnehin ein komplettes Framework: Zend.

    Ich verstehe nur nicht, warum ein zusaetzliches Script sicherheitstechnisch besser ist oder irgendetwas uebersichtlicher macht.
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  10. #10
    nchristoph nchristoph ist offline Mitglied Platin
    Registriert seit
    Sep 2007
    Beiträge
    527
    Ui dachte nicht, das während der Feiertage einer Antwortet.

    Ich verstehs auch nicht: Wenn ich denselben HTMLCode in z.b. einer Whileschleife ausführe ist die Dateisicher, wenn ich die Templatedatei aber include, dann is es unsicher.

    Ich werds mal versuchen ob ich mit Smarty was hinkrieg ansonsten werd ich wohl den Code in den PHP Dateien lassen.

    Alsdann: Frohes Fest im nachhinein.
     

  11. #11
    Avatar von Sebastian Schmidt
    Sebastian Schmidt Sebastian Schmidt ist offline Mitglied Silber
    Registriert seit
    Dec 2002
    Ort
    Hannover
    Beiträge
    75
    www.cakephp.org
    Guck dir das Framework an, ist wie gemacht für Einsteiger. Ich selber nutze es jetzt schon länger und man kommt super schnell rein, ausserdem heisst es auch "the rapid development Framework" dem kann ich nur zustimmen. Auf der Seite verlinkt bzw. tv.cakephp.org gibt es in Mengen Videotutorials und verdammt gute Einsteiger Videos, zudem wirst du echt viele Videos bei Youtube finden.

    Probier das ganze mal aus, ich kanns wie gesagt nur empfehlen. Das ganze arbeitet auch nach dem MVC Model, so das du Daten, Verarbeitung und Ausgabe direkt schon von einander getrennt hast und um so Sachen wie Cache, SQL Injection musst du dir keine Gedanken machen. Das ist alles dabei.
     

  12. #12
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.521
    Zitat Zitat von nchristoph Beitrag anzeigen
    Ich verstehs auch nicht: Wenn ich denselben HTMLCode in z.b. einer Whileschleife ausführe ist die Dateisicher, wenn ich die Templatedatei aber include, dann is es unsicher.
    Ich verstehe nicht, was du damit ausdrücken willst. Wer meint, das etwas unsicher ist? Der PHP-Parser? Bringt er Warnungen oder Notices? Wenn ja, welche? Bitte Fehlermeldungen und den zugehörigen Code-Teil posten, sonst kann man schlecht Ratschläge geben.

    Du musst jetzt nicht Hals-über-Kopf neue Konzepte einbauen, wenn du weder denn Sinn noch die Technik durchschaust. Falsch angewande Best-Practices machen es eher schlimmer als besser. Zeig doch mal, was du für Probleme konkret hast.
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  13. #13
    crsakawolf crsakawolf ist offline Mitglied Gold
    Registriert seit
    Apr 2006
    Beiträge
    237
    Hallo,

    wenn du fragen hast, dann schreib mich doch direkt an. dann kann ich dir helfen.

    @Napofis :
    Ja das war ein erster Anfang für ein Template System welches auch für Anfänger eigentlich verständlich sein sollte, mittlerweile ist es weitaus gereift und performanter angesiedelt
     

Ähnliche Themen

  1. Kurze Frage
    Von Comenius im Forum Javascript & Ajax
    Antworten: 6
    Letzter Beitrag: 10.08.07, 09:19
  2. Frage zu Template Tutorial
    Von Kalma im Forum PHP
    Antworten: 0
    Letzter Beitrag: 07.02.07, 17:34
  3. Frage zu PHP Template Parser Tutorial
    Von psifactory im Forum PHP
    Antworten: 5
    Letzter Beitrag: 03.08.06, 23:53
  4. Wahrscheinlich einfach - kurze Frage, kurze Antwort
    Von rotekiste im Forum Flash Plattform
    Antworten: 1
    Letzter Beitrag: 19.02.05, 15:12
  5. Frage zum Tutorial "Template Parser"
    Von Vaio82 im Forum PHP
    Antworten: 16
    Letzter Beitrag: 14.05.04, 12:03