php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 10-01-2013, 23:08
Marcoru
 Registrierter Benutzer
Links : Onlinestatus : Marcoru ist offline
Registriert seit: Jun 2012
Beiträge: 38
Marcoru befindet sich auf einem aufstrebenden Ast
Post TPL System

Hallo,
ich habe mir ein kleines TPL System gebastelt doch habe ich einen Fehler drinne den ich nicht verstehe.
Hier mal der Code:

tpl.class
PHP-Code:
    function set_tpl ($tpl_name$tpl_typ "index") {
        
        if(
$tpl_typ == "index") {
            
$file $this->index_path_tpl $tpl_name ".tpl";
            if(
file_exists($file)) {
                
$this->get_title();
                
$this->tpl_include $file;
            } else {
                
$this->error_handler(TPL$tpl_name ".tpl (" $tpl_typ ") ist nicht vorhande!");
            }
        
        } elseif(
$tpl_typ == "user") {
            
$file $this->user_path_tpl $tpl_name ".tpl";
            if(
file_exists($file)) {
                
$this->get_title();
                
$this->tpl_include $file;
            } else {
                
$this->error_handler(TPL$tpl_name ".tpl (" $tpl_typ ") ist nicht vorhande!");
            }
            
        } elseif(
$tpl_typ == "admin") {
            
$file $this->admin_path_tpl $tpl_name ".tpl";
            if(
file_exists($file)) {
                
$this->get_title();
                
$this->tpl_include $file;
            } else {
                
$this->error_handler(TPL$tpl_name ".tpl (" $tpl_typ ") ist nicht vorhande!");
            }
        
        } else {
            
$this->error_handler(TPL"Kann "$tpl_name ".tpl (" $tpl_typ ") nicht laden!");
        }
    }
    
    function 
include_tpl () {
        if(
$this->tpl_include != "" && is_string($this->tpl_include)) {
            return include_once(
$this->tpl_include);
        }
    } 
datei.php
PHP-Code:
<?php

$read 
date("d-m-Y");

if(
$read == "") {
    
$read date("d-m-Y");


$data date("d-m-Y") . "<br /> \n";

$handle file("content/admin/error_handler/" date("d-m-Y") . ".txt");

$tpl->set_tpl("error_handler""admin");
?>
tpl datei die dazu gehört:
Code:
<?php 
foreach ($handle as $zeile) {
        echo $zeile . "<br /> \n";
}
?>
index.php
PHP-Code:
if(isset($include_path)) {
    if(
$include_typ == "index") {
        if(
file_exists("content/index/"$include_path ".php")) {
            include_once (
"content/index/"$include_path ".php");
        } else {
            
$tpl->error_handler(PHPDAT"PHP Datei:" $include_path " nicht vorhanden!");
        }
    }
    elseif(
$include_typ == "user") {
        if(
file_exists("content/user/"$include_path ".php")) {
            include_once (
"content/user/"$include_path ".php");
        } else {
            
$tpl->error_handler(PHPDAT"PHP Datei:" $include_path " nicht vorhanden!");
        }
    }
    elseif(
$include_typ == "admin") {
        if(
file_exists("content/admin/"$include_path ".php")) {
            include_once (
"content/admin/"$include_path ".php");
        } else {
            
$tpl->error_handler(PHPDAT"PHP Datei:" $include_path " nicht vorhanden!");
        }
    }
    else {
        include_once (
"content/index/"$include_path ".php");
    }
    
} else {
    include_once (
"content/index/"$include_path ".php");
}

include_once(
"content/index/tpl/html_header.tpl");
$tpl->include_tpl();
include_once(
"content/index/tpl/html_footer.tpl");
?> 


wenn ich eine Variable setze in datei.php und die tpl datei direkt include funktioniert der Code.
Aber wenn ich es über die funktion mache wird zwar normal es HTML ausgegeben aber nicht die Variable da steht dann NOTICE: Variable nicht gesetzt...
Aber warum werden die Variablen nicht übergeben wurde doch beides in die index geladen.

mfg Marco
Mit Zitat antworten
  #2 (permalink)  
Alt 14-01-2013, 15:48
litterauspirna
 Registrierter Benutzer
Links : Onlinestatus : litterauspirna ist offline
Registriert seit: Nov 2007
Beiträge: 364
litterauspirna ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,

meine ganz ehrliche Meinung. Schmeiß das Ding so wie es ist in den Papierkorb.
Du machst eine Klasse bzw. eine Methode abhängig von index, user und admin?
Was soll das werden? Was wenn noch galerie, gästebuch dazu kommt? Dann musst du dort und da wieder ändern und erweitern und bist somit noch abhängiger und noch Fehleranfälliger mit dem ganzen.

Das ganze was du da zeigst läuft schon im Ansatz gegen den Baum, dynamisch ist etwas anderes.

Warum willst du das Rad neu erfinden? Nutze doch fertige funktionierende Sachen, wenn es eine Serverseitige Templateengine sein soll dann ist Smarty nicht das verkehrteste.

Und Clientseitig bietet die XSLT alles was du brauchst.

So eine Template Engine gehört schon gut designed und geplant, bei ist davon nichts zu sehen.

Bitte sieh meine Worte nur als Kritik nicht als Abwertung gegen deine Arbeit.

Gruß der Litter
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
Mit Zitat antworten
  #3 (permalink)  
Alt 14-01-2013, 21:28
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.596
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von litterauspirna Beitrag anzeigen
dann ist Smarty nicht das verkehrteste.
Naja, eigentlich doch. Von allen Template-Engines bitte nicht Smarty.
Mit Zitat antworten
  #4 (permalink)  
Alt 15-01-2013, 09:06
litterauspirna
 Registrierter Benutzer
Links : Onlinestatus : litterauspirna ist offline
Registriert seit: Nov 2007
Beiträge: 364
litterauspirna ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von h3ll Beitrag anzeigen
Naja, eigentlich doch. Von allen Template-Engines bitte nicht Smarty.
Keine Sorge ich kann Smarty auch nicht leiden und kann dem auch nichts abgewinnen, ich kenne Serverweitig aber nur Smarty, weil bis dato nur damit was zu tun hatte und promt von Template Engines (Serverseitig) geheilt war.

Clientseitig hatte ich dann im Praktikum mit XSLT zu tun, aber leider danach auch nicht mehr. Daher kann ich nur von den beiden hier reden die ich kenne. Über anderes kann ich mir leider kein Urteil erlauben.
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
Mit Zitat antworten
  #5 (permalink)  
Alt 15-01-2013, 12:05
Quetschi
 PHP Expert
Links : Onlinestatus : Quetschi ist offline
Registriert seit: Dec 2004
Beiträge: 3.134
Quetschi wird schon bald berühmt werden
Standard

XSLT geht auch auf dem Server ;-)
__________________
Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
Schön - etwas Geschichte kann ja nicht schaden.
Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!
Mit Zitat antworten
  #6 (permalink)  
Alt 15-01-2013, 12:10
Benutzerbild von ApoY2k ApoY2k
 Registrierter Benutzer
Links : Onlinestatus : ApoY2k ist offline
Registriert seit: Nov 2006
Beiträge: 359
ApoY2k befindet sich auf einem aufstrebenden Ast
ApoY2k eine Nachricht über ICQ schicken ApoY2k eine Nachricht über Skype™ schicken
Standard

Aktuell (mMn) die beste Template-Engine ist Twig (von den Symfony-Leuten)
__________________
This is what happens when an unstoppable force meets an immovable object.
Mit Zitat antworten
  #7 (permalink)  
Alt 15-01-2013, 12:19
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Auch Fluid, integriert in Flow3, ist einen Seitenblick wert.
__________________
Wir werden alle sterben
Mit Zitat antworten
  #8 (permalink)  
Alt 15-01-2013, 16:58
Marcoru
 Registrierter Benutzer
Links : Onlinestatus : Marcoru ist offline
Registriert seit: Jun 2012
Beiträge: 38
Marcoru befindet sich auf einem aufstrebenden Ast
Standard

Vielen dank für die vielen vorschläge und die Kritik. Bin immer offen für Kritik
Ich bastel mir gerade ein Browsergame zusammen.
Welches der tpl systeme sind da am besten?
Oder gar kein tpl system?

Mfg Marco
Mit Zitat antworten
  #9 (permalink)  
Alt 16-01-2013, 11:08
Benutzerbild von ApoY2k ApoY2k
 Registrierter Benutzer
Links : Onlinestatus : ApoY2k ist offline
Registriert seit: Nov 2006
Beiträge: 359
ApoY2k befindet sich auf einem aufstrebenden Ast
ApoY2k eine Nachricht über ICQ schicken ApoY2k eine Nachricht über Skype™ schicken
Standard

Schau sie dir an, verwende sie in Beispielen, mach die Tutorials durch und entscheide für dich selbst.

Prinzpiell, gerade bei Browsergames: Jedes TPL-System ist besser als keines.
__________________
This is what happens when an unstoppable force meets an immovable object.
Mit Zitat antworten
  #10 (permalink)  
Alt 16-01-2013, 12:14
ezkimo
 Registrierter Benutzer
Links : Onlinestatus : ezkimo ist offline
Registriert seit: Apr 2005
Ort: Beckum / Westf.
Beiträge: 279
ezkimo befindet sich auf einem aufstrebenden Ast
ezkimo eine Nachricht über ICQ schicken
Standard

Im Grunde genommen haben all die genannten Template Engines einen Nachteil: sie bringen eine eigene Syntax mit sich, die Du Dir erst aneignen musst.

Es wurde hier auch schon XSLT als native Template Engine genannt. Allerdings ist XSLT auch ein Thema, welches man sich erst aneignen und verstehen muss, bringt aber im Endeffekt keine neue Syntax mit sich. Aus meiner Sicht auch eher ein Thema für Fortgechrittene.

Hier eines der guten Tutorials zu einer XSLT Template Engine: XSLT als Template Engine in PHP - Teil 1 | webholics - development + design | Freelancer im Bereich Webentwicklung und Webdesign
__________________
MM Newmedia | MeinBlog
Mit Zitat antworten
  #11 (permalink)  
Alt 16-01-2013, 15:09
Marcoru
 Registrierter Benutzer
Links : Onlinestatus : Marcoru ist offline
Registriert seit: Jun 2012
Beiträge: 38
Marcoru befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank!!!

werde mich mal in XSLT reinlesen
Mit Zitat antworten
  #12 (permalink)  
Alt 16-01-2013, 21:45
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.596
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Eine Template-Engine, die XML als Sprache verwendet:

PHPTAL :: Template Attribute Language for PHP 5

Hat gegenüber den meisten anderen Template-Engines den Vorteil, dass sie jeder XML/HTML-Editor verstehen und bearbeiten kann. Außerdem wird es es so praktisch unmöglich kaputten XHTML-Code auszugeben, da die Template-Engine bei kaputtem Code sofort Fehler wirft, während andere Template-Engines den fehlerhaften Code einfach ohne sich dafür zu interessierend durchwinken.
Mit Zitat antworten
  #13 (permalink)  
Alt 16-01-2013, 22:53
Marcoru
 Registrierter Benutzer
Links : Onlinestatus : Marcoru ist offline
Registriert seit: Jun 2012
Beiträge: 38
Marcoru befindet sich auf einem aufstrebenden Ast
Standard

danke für die antwort!

Ich habe auch noch ei tpl System gefunden das recht leicht ist:
Quakenet/#php Tutorial - de - Templatesystem

aber in diesem TPL System wird nichts ersetzt sondern einfach mit echo erledigt.

Ist das ein Vor- oder Nachteil?
Mit Zitat antworten
Antwort

Lesezeichen


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Tpl- Klasse (Tabelle) Blackgreetz BRAINSTORMING PHP/SQL/HTML/JS/CSS 3 10-07-2008 19:16
$HTTP_GET_VAR in .tpl datein? tudor PHP Developer Forum 11 05-10-2007 02:25
TPL-Klasse Blackgreetz BRAINSTORMING PHP/SQL/HTML/JS/CSS 13 18-08-2007 22:46
Problem mit Schleifenparsing im eigen TPL System eternitysoft PHP Developer Forum 7 16-06-2006 19:37
phpcode in .tpl marc75 BRAINSTORMING PHP/SQL/HTML/JS/CSS 3 02-04-2004 17:37

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 12:31 Uhr.