Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 09:05

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Templates?? Warum?

Discussion on Templates?? Warum? within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
Brian''s Avatar
 
elite*gold: 0
Join Date: Sep 2011
Posts: 133
Received Thanks: 29
Templates?? Warum?

Hallo Community,
ich stoße momentan auf ein Problem - die Templates. Ich rede hierbei von Smarty etc., diese Template Engines sind doch ziemlich überflüssig oder?
Ich meine man könnte auch eine Textdatei erstellen und dort mit <?php print $blabla ?> arbeiten. Das macht das Ganze ziemlich sinnlos.

Ein Designer wird wohl diese paar Attribute verwenden können oder?

Wie seht ihr das?
Brian' is offline  
Old 10/03/2011, 14:55   #2
 
elite*gold: 0
Join Date: Mar 2008
Posts: 81
Received Thanks: 4
Ich selbst arbeite auch mir Smarty, und ich muss sagen ich bin sehr zufrieden damit! Die Möglichkeiten die man dort hat, wäre selbstverständlich auch ohne realisierbar - doch etwas unordentlicher.

Templates sind dazu da, um strick PHP von HTML zu trennen. Du musst dir denken Smarty macht nichts anderes, als ein File zu laden, die vordefinierten Dinge zu ersetzen, sagen wir innerhalb von {} oder Statements zu überprüfen und sie anschließend richtig ausgeben.

Quote:
Ein Designer wird wohl diese paar Attribute verwenden können oder?
So, sagen wir du hast eine Index.php in der du die "Overall" Seite anzeigst. In dieser Seite gibt es einen Header Container, Content Container und einen Footer Container. Der Header sowie der Footer Container soll gleich bleiben, nur beim Klicken eines Links soll sich der Content Container ändern. Hm, für einen Designer wird das relativ blöd, da er entweder mit <iframes> arbeiten muss oder mit ständigen echo's etc.

Fazit: bei großen Projekten ist eine Darstellung ohne Templates ein No-Go. Bei kleineren jedoch kein Problem.



anDre
Karnerbi is offline  
Old 10/03/2011, 19:38   #3
 
Brian''s Avatar
 
elite*gold: 0
Join Date: Sep 2011
Posts: 133
Received Thanks: 29
Quote:
Originally Posted by Karnerbi View Post
Fazit: bei großen Projekten ist eine Darstellung ohne Templates ein No-Go. Bei kleineren jedoch kein Problem.
Guck dir Wordpress an..
Brian' is offline  
Old 10/04/2011, 02:58   #4
 
elite*gold: 0
Join Date: Oct 2008
Posts: 319
Received Thanks: 88
Quote:
Originally Posted by Brian' View Post
Guck dir Wordpress an..
Guck dir Webspell an, nur weilsn Namen hat kann der Code unter der Haube
trotzdem Müll sein

Quote:
Ich selbst arbeite auch mir Smarty, und ich muss sagen ich bin sehr zufrieden damit! Die Möglichkeiten die man dort hat, wäre selbstverständlich auch ohne realisierbar - doch etwas unordentlicher.

Templates sind dazu da, um strick PHP von HTML zu trennen. Du musst dir denken Smarty macht nichts anderes, als ein File zu laden, die vordefinierten Dinge zu ersetzen, sagen wir innerhalb von {} oder Stat
Man braucht keine echos, um mit php ausgaben zu erzeugen, man verwende
ganz simpel den PHP Template Syntax:
PHP Code:
<?= 'Hallo!' ?>
Und zum Thema unübersichtlichkeit, da hat jeder seine eigene Meinung
schätze ich. Ich verwende generell das MVC Pattern, eine Template
engine ist hier wohl in den meisten Fällen überflüssig. Auch schleifen funktionieren mit diesem
Syntax nebenbei ziemlich einfach:
PHP Code:
<? foreach(AS val): ?>
  [..html..]<?= val ?>[..html..]
<? endforeach; ?>
Wie du siehst kommt es aufs gleiche hinaus wenn du den Template Syntax
verwendest, oder Smarty mit dem einzigen unterschied das Template
engines wesentlich langsamer sind. Übersichtlich ist der PHP
Template Syntax alle mal.
Fratyr is offline  
Old 10/04/2011, 10:38   #5
 
sava's Avatar
 
elite*gold: 1
Join Date: Dec 2006
Posts: 360
Received Thanks: 135
Mit Templates ist es um ein vielfaches einfacher z.b.: ein neues Design anzuwenden.

Wie die Vorredner schon gesagt haben: es geht hauptsächlich bei den Templates darum, dass der eigentliche Code nicht in der Ausgabe steht - grundlegende Trennung.

Vorallem ist es für einen Designer - der vllt nur HTML/CSS/JavaScript kann - einfacher nur die Ausgabe zusehen als den Code direkt.
sava is offline  
Old 10/04/2011, 14:39   #6
 
Brian''s Avatar
 
elite*gold: 0
Join Date: Sep 2011
Posts: 133
Received Thanks: 29
Naja ich bleibe bei meinem PHP.
Brian' is offline  
Old 10/04/2011, 17:15   #7
 
sava's Avatar
 
elite*gold: 1
Join Date: Dec 2006
Posts: 360
Received Thanks: 135
Öhm Smarty ist PHP. Ganz ehrlich: eigne dir sowas an, bei größeren Projekten wirst du es brauchen, oder zumindest dir wünschen du hättest es dir angeeignet
sava is offline  
Old 10/04/2011, 18:26   #8
 
Snake124's Avatar
 
elite*gold: 30
Join Date: Aug 2006
Posts: 110
Received Thanks: 28
ich arbeite zb nur mit switches, funktioniert 1 a und ist schnell

zb eine klassische index.php von mir:
PHP Code:
<?
session_start
(); //initialisierung der session
$time_start microtime(true); //initialisierung für die seitenaufbauzeit
require_once($_SERVER['DOCUMENT_ROOT'].'/config.php'); //lade config.php
require_once($_SERVER['DOCUMENT_ROOT'].'/system/kernel.php'); //lade restliches system
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?=$pagecon['site']['titel']?></title>
<link rel="stylesheet" type="text/css" href="/style/style.css" /> <!-- lade style -->
<script type="text/javascript" src="/libs/jq.js"></script><!-- lade javascript -->
</head>

<body>
<table width="100%" border="0">
  <tr>
    <td colspan="2"><!-- HEADER --></td>
  </tr>
  <tr>
    <td width="20%"><!-- NAVI --></td>
    <td width="80%">
    <!-- CONTENT -->
    <?
    
switch($variable){
        case(
'seite1'):
            include 
$_SERVER['DOCUMENT_ROOT'].'/subsites/seite1.php'//Ausgabe wenn $variable den wert "seite1" hat
        
break;    
        case(
'seite2'):
            include 
$_SERVER['DOCUMENT_ROOT'].'/subsites/seite2.php'//Ausgabe wenn $variable den wert "seite2" hat
        
break;    
        case(
'seite3'):
            include 
$_SERVER['DOCUMENT_ROOT'].'/subsites/seite3.php'//Ausgabe wenn $variable den wert "seite3" hat
        
break;    
        case(
'home'): //Ausgabe wenn $variable den wert "home" hat oder leer bzw nicht initialisiert ist
        
default:
            
//Ausgabe Variante 1
                
echo '<h3>Startseite blahföhn...</h3><br />';
            
//
            //Ausgabe Variante 2
                
?>
                    <h3>Startseite blahföhn...</h3><br />
                   <?
            
//            
        
break;
    }
    
?>
    </td>
  </tr>
  <tr>
    <td colspan="2">
    <!-- FOOTER -->
    <?
        $time_end 
microtime(true);
        
$time $time_end $time_start;
        echo 
"Ladezeit: "number_format($time2) ." Sekunden";
    
?>
    </td>
  </tr>
</table>
</body>
</html>
ich habe sogesehen nur 2 dateien welche das design bestimmen (index.php/style.css).
darin stehen (bei mir) 5 phpcodeblöcke: Initialisierung, Head, Navi, Content, Footer
dieses system nutz ich schon seit jahren, egal ob für große oder kleine seiten, es funktioniert schnell und zuverlässig.

und mal ehrlich, wer zu blöde ist 5 codeblöcke in eine index zu schreiben.... ich glaube derjenige sollte sich überlegen ob er schon alt genug für computer und internet ist..
worauf ich hinaus will, jeder designer (auch die kein php können) hat weitaus weniger arbeit als mit 30000 templatecodezeilen.

achja, flames die den persönlichen schreibstil angreifen kann man sich verkneifen, jeder sollte so arbeiten wie man es am besten kann. wenn jemand fragen zum genaueren aufbau meines codes hat, einfach anschreiben, ich teil mein unnützes wissen gern <3

mfg Aileen
Snake124 is offline  
Old 10/05/2011, 14:49   #9
 
elite*gold: 0
Join Date: Mar 2008
Posts: 81
Received Thanks: 4
Quote:
Man braucht keine echos, um mit php ausgaben zu erzeugen, man verwende
ganz simpel den PHP Template Syntax:
Kann schon sein, dass das bei deiner Template Engine so vorgesehen ist, jedoch bei Smarty wird seit dem neuen Release davon abgeraten => {php} {/php}
Denn nun ist es möglich Funktionen zu vordefinieren bevor man ein Template aufruft, an diese kann man dann Parameter etc. weitergeben. Desweiteren erlaubt dir Smarty Verbindungen zu Datenbanken herzustellen (Mysql, Mssql - für weitere gibt es s.g. Extensions).
Karnerbi is offline  
Old 10/05/2011, 19:36   #10
 
Brian''s Avatar
 
elite*gold: 0
Join Date: Sep 2011
Posts: 133
Received Thanks: 29
Quote:
Originally Posted by Karnerbi View Post
Denn nun ist es möglich Funktionen zu vordefinieren bevor man ein Template aufruft, an diese kann man dann Parameter etc. weitergeben. Desweiteren erlaubt dir Smarty Verbindungen zu Datenbanken herzustellen (Mysql, Mssql - für weitere gibt es s.g. Extensions).
Kann man im ganz normalem PHP auch...
Brian' is offline  
Old 10/06/2011, 08:41   #11
 
elite*gold: 0
Join Date: Mar 2008
Posts: 81
Received Thanks: 4
Quote:
Originally Posted by Brian' View Post
Kann man im ganz normalem PHP auch...

Aber bei einem Template normaler weise nicht, da dieses aus HTML besteht ... zumindestens ist das bei Smarty so.
Karnerbi is offline  
Old 10/06/2011, 09:13   #12
 
sava's Avatar
 
elite*gold: 1
Join Date: Dec 2006
Posts: 360
Received Thanks: 135
o_O smartys template Dateien sind sozusagen phtml, oder denkst du sowas wie "{if}" ist HTML code?
sava is offline  
Old 10/06/2011, 15:28   #13
 
elite*gold: 0
Join Date: Mar 2008
Posts: 81
Received Thanks: 4
Smarty Templates sind einfach nur Datein die eine Endug haben, um von der "Engine" gefunden zu werden. Das Template / die Datei wird eingelesen und die Engine verwertet dann die integrierten Funktionen, Variablen etc.
Karnerbi is offline  
Reply




All times are GMT +1. The time now is 09:05.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.