psMedlem sedan juni 2000841 inlägg Har utvecklat ett litet intranät som jag hade tänkt skriva om med templates innan jag utvecklar det vidare.
Mycket på intranätet är att hämta ut data från databas och presentera i tabellform, så bra stöd för att ha plockat ut data från MySQL till att presentera det i tabell/grafer är ett plus.
Verkar finnas en hel uppsjö med olika varianter fasttemplate, easytemplate, ultratemplate, smarty osv..
ultratemplate och smarty verkar vara dom som är mest flexibla, eller?
Jag har hållt på med templates innan, bara inte i PHP än.
Så vilken template-sort föreslår ni? motivera gärna :)
GronKMedlem sedan feb. 20034 inlägg Jag är nog helt fel person att prata men jag ska säga vad jag har läst!
Sedan får du slå på mig för att jag dilla goja. =)
Templets i php är ju helt onödigt om man inte är många på ett projekt och man skiljer på grafiker och programmerande personer!
Så varför inte bara skilja på det genom att lägga all php först i dokumentet och resterande html och grafik efter i samma dokument eller ev. inkludera det! Det spar du ju massor av speed på.
Om du tar ’Smarty’ som exempel där har du ju en hel lista med kommandon som kan utföras MEN varför. Först ska den koden köras av din php kod sedan ska php koden köras av servern det låter ju mega slött. Varför ska man skriva if kommandon i smarty jag tycker funktionen som php har är ganska bra.
Men om du verkligen vill köra templates så välj den lättaste av dom alla sedan strippar du klassen mer. Skicka variabler och möjligt vis göra loopar det är allt =)
Nå ja det är vad jag tycker nu kan du slå mig =)
psMedlem sedan juni 2000841 inlägg
Templets i php är ju helt onödigt om man inte är många på ett projekt och man skiljer på grafiker och programmerande personer!
Så varför inte bara skilja på det genom att lägga all php först i dokumentet och resterande html och grafik efter i samma dokument eller ev. inkludera det! Det spar du ju massor av speed på.
Nja håller jag nog inte med om, även om jag både ska koda logiken och presentationslagret så är det bra att ha separerat det så mycket som möjligt. PHP kod kan bli ganska grisig, även om man lägger så mycket kod som möjligt ovanför själva delen som ska skickas till klienten.
Att ändra utseendet och flytta runt på grejer blir apsmidigt med templates tycker jag.
Lättare att strukturera upp PHP-koden också, lägga det så att man lättare kan återanvända kod osv.
Okej, om man kanske bara har 5-10 sidor så kanske det inte spelar nån roll, men när det närmar sig 50-60 så kan det bli ganska bökigt att hålla reda på allt och ha en snygg och smidig struktur... PHP är ju inte det mest strikta språk som finns ;)
Om du tar ’Smarty’ som exempel där har du ju en hel lista med kommandon som kan utföras MEN varför. Först ska den koden köras av din php kod sedan ska php koden köras av servern det låter ju mega slött. Varför ska man skriva if kommandon i smarty jag tycker funktionen som php har är ganska bra.
Prestandan tror jag inte kommer att vara ett stort problem, Smarty har vissa cache funktioner man kan använda, sen finns php acceleratorer och det kan göra väldigt stor skillnad i prestanda. Har inte testat Smarty än, men det verkar bra ;)
Bara för att if-satser finns så behöver man ju inte tvunget använda dom, men det är väl inte helt fel att ha möjligheten att göra det utan att behöva byta templatemotor.
Och btw, välkommen till webforum :)
ThACRoWMedlem sedan dec. 2001314 inlägg patTemplate har jag provat och tycker det är mycket smidigt att använda!
GronKMedlem sedan feb. 20034 inlägg
Prestandan tror jag inte kommer att vara ett stort problem, Smarty har vissa cache funktioner man kan använda, sen finns php acceleratorer och det kan göra väldigt stor skillnad i prestanda. Har inte testat Smarty än, men det verkar bra
Bara för att if-satser finns så behöver man ju inte tvunget använda dom, men det är väl inte helt fel att ha möjligheten att göra det utan att behöva byta templatemotor.
Även om jag tror mer på en separat klass som behandlar chachning på din sida så kan jag väll gå med på att man inte behöver använda sig av alla kommandon som, smarty eller andra tunga Templets har att erbjuda! Men om man använder sig av bara php så behöver man aldrig byta templatemotor. =)
Okej, om man kanske bara har 5-10 sidor så kanske det inte spelar nån roll, men när det närmar sig 50-60 så kan det bli ganska bökigt att hålla reda på allt och ha en snygg och smidig
Vist är det så jag menar ju inte att man ska blanda php och html hej vilt. Då blir det ju soppa av allting! Men jag står fast vid mitt uttalande att prestandan blir bättre och du kan fortfarande göra ett bra upplägg utan templets.
Jag antar att du vet exakt hur jag menar man jag vill ändå visa en liten kod snutt.
**[news.php]**
/*Difiniera lite standard skräp*/
$page_title = 'NYHETER';
$page_name = 'DAGENS NYHETER';
/*Difiniera en räknare*/
$count = 0
/*Hämta nyheter*/
$result = @mysql_query("bla...");
while ($row = mysql_fetch_assoc($result)){
news_name[] = $row['news_name'];
news_date[] = $row['news_date'];
news_text[] = $row['news_text'];
}
/*Hämta html*/
include_once( "./news.html.php" );
**[news.html.php]**
<html>
<head>
<title><?php echo $page_title;?></title>
</head>
<body>
<table align="center" width="400">
<tr>
<td><u><?php echo $page_name;?></u></td>
</tr>
<!-- Börja skriv nyheter här -->
<?php while(count($ansr_list) > $count++){?>
<tr>
<td>
Detta är nyhet nr <?php echo $count;?><br>
namn: <?php news_name[$count];?><br>
Datum: <?php news_date[$count];?>
</td>
</tr>
<tr>
<td>
Text:<br>
<?php news_text[$count];?>
</td>
</tr>
<?php }?>
<!-- Sluta skriv nyheter här -->
</table>
</body>
</html>
Jag tycker att detta har minst lika bra läslighet som en templet klass.
Lovar att inte bråka med dig mer. Du vill ju faktiskt ha svar på vilken templet du ska använda och inte om du ska använda dem! ;)
välkommen till webforum
Tack tack =)
SPiNMedlem sedan mars 20007 896 inlägg GronK> Laddningstiden blir längre om du använder många context-switchar, som du gör i ditt exempel. Samma sak med inkluderingar av andra sidor, så laddnings-skillnaden mellan templates och ditt exempel är inte så stor.
Jag tycker att templates är ett utmärkt sätt att skriva effektiv kod. Man får en fin separation på kod och HTML, och vid uppdateringar i framtiden går det mycket smidigare vid användning av templates. Samtidigt slipper man ofta skriva samma saker flera gånger ( Precis som du gör med include_once() ) och dokumenten förklarar sig själva - man behöver inte kommentera koden.
ps> Skriv ihop ett eget template-system som räcker för dina behov och som samtidigt är skräddarsytt för dina applikationer. Jag har för mig att jag har sett dig i C/C++-forumet? Skriv gärna ihop en modul då i C/C++ som du använder från PHP, så får du ett riktigt effektivt template-system.
psMedlem sedan juni 2000841 inlägg
GronK skrev:
Jag antar att du vet exakt hur jag menar man jag vill ändå visa en liten kod snutt.
Det är ganska exakt så jag har haft det fram till nu.
SPiN skrev:
ps> Skriv ihop ett eget template-system som räcker för dina behov och som samtidigt är skräddarsytt för dina applikationer. Jag har för mig att jag har sett dig i C/C++-forumet? Skriv gärna ihop en modul då i C/C++ som du använder från PHP, så får du ett riktigt effektivt template-system.
Ingen dum ide.. fast det känns som jag inte har tid med det nu, men det kan nog bli ett litet framtida projekt.
Jag var lite förvånad över att smarty är skrivet i PHP och inte C/C++.
SPiNMedlem sedan mars 20007 896 inlägg De flesta system, för att inte säga alla, är skrivna i PHP för att lättare kunna köras på alla maskiner. Man kan ju inte använda en modul för Windows i Linux, t.ex, eller vice versa. :)
spangoMedlem sedan juni 20008 205 inlägg
GronK skrev:
Men jag står fast vid mitt uttalande att prestandan blir bättre och du kan fortfarande göra ett bra upplägg utan templets.
Prestanda står mot enkel administration, och vanligen spar man såväl tid som pengar på att köpa en snabbare dator om det går för segt i stället för att göra en enskiktslösning. Dessutom, om det är på ett intranät skulle jag gissa att det inte blir någon extremtung trafik?
psMedlem sedan juni 2000841 inlägg
SPiN skrev:
De flesta system, för att inte säga alla, är skrivna i PHP för att lättare kunna köras på alla maskiner. Man kan ju inte använda en modul för Windows i Linux, t.ex, eller vice versa.
Näe det e sant, och eftersom alla är skrivna i PHP kan man tänka sig att prestandaförlusten inte är så speciellt stor (inte tillräckligt för att man ska börja koda binärer iaf).
spango skrev:
Dessutom, om det är på ett intranät skulle jag gissa att det inte blir någon extremtung trafik?
Nej precis trafiken är inte allt för stor, det är ca 20 personer som använder det för tillfället.
Iofs så används servern till lite annat också, men det är inga prestandaproblem på långa väger (ännu ;)).