Gå til innhold

Vil lære seg template system


Anbefalte innlegg

Heisann.

Har nå jobbet en stund med php og har sett forskjellige oppsett rundt templates osv.

Har vært inni det og jobbet med det, men ikke klart noe bra der. Så derfor lurte jeg på om noen hadde lyst å gi meg et lynkurs i templates. Har sett på smartys eller hva det no heter, men ble litt lost. Help anyone?

 

- Molty

Lenke til kommentar
Videoannonse
Annonse

Er det egentlig noe vits? Når man kan gjøre slik med PHP?

 

<html>
   <title><?=$title;?></title>
   <body>
       <p>List of all users</p>
       <table>
           <th>User ID</th>
           <th>Username</th>
           <th>E-mail</th>
           <? foreach($result as $row): ?>
               <td><?=$row['user_id'];?><td>
               <td><?=$row['username'];?><td>
               <td><?=$row['email'];?><td>
           <? endforeach; ?> 
        </table>
   </body>
</html>

 

En template engine vil jo bare gjøre at applikasjonen bruker mer CPU og blir tregere da den må parse til php. Jeg ville nok heller brukt tid på å lære meg et MVC framework. For å så bruke http://www.php.net/manual/en/control-structures.alternative-syntax.php altarnative syntax. Uansett, det er bare min mening og jeg tror mange er enig i det.

Lenke til kommentar

Sistnevnet metode er ypperlig, men opplerver selv at multiple servere ikke tilater shorttag i php. Dvs at du må skrive <?php foreach($result as $row): ?>, Men da ser det kjapt mer rotete ut (=

 

Selv ønsker jeg å sette meg inn i templatesystem. Lære mer om hvordan de går frem, så hadde vært kjempleflott om noen kunne komme med noen innslag akkurat her =) Er Spennende, og fint å kunne det meste ;)

Lenke til kommentar

Er det egentlig noe vits? Når man kan gjøre slik med PHP?

 

Ja, det er vits fordi det blir mye mer elegant HTML-kode.

 

<ul>
{foreach from=$myArray item=foo}
   <li>{$foo}</li>
{/foreach}
</ul>

 

kontra

 

<ul>
<?php foreach ($myArray as $foo): ?>
   <li><?php echo $foo; ?></li>
<?php endforeach; ?>
</ul>

 

eller enda værre

 

<ul>
<?php foreach ($myArray as $foo) { ?>
   <li><?php echo $foo; ?></li>
<?php } ?>
</ul>

Endret av xibriz
Lenke til kommentar

Den ytelsen du snakker om er mini mini minimal. Desuten:

 

Smarty reads the template files and creates PHP scripts from them. Once

these PHP scripts are created, Smarty executes these, never having to parse

the template files again. If you change a template file, Smarty will

recreate the PHP script for it. All this is done automatically by Smarty.

Template designers never need to mess with the generated PHP scripts or even

know of their existance.

 

Så da har plutselig min finere kode samme ytelse som din kode.

Endret av xibriz
Lenke til kommentar
Ja, det er vits fordi det blir mye mer elegant HTML-kode.

 

<ul>
{foreach from=$myArray item=foo}
   <li>{$foo}</li>
{/foreach}
</ul>

 

kontra

 

<ul>
<?php foreach ($myArray as $foo): ?>
   <li><?php echo $foo; ?></li>
<?php endforeach; ?>
</ul>

Mye mer elegant kode? Jeg synes de ser tilnærmet helt like ut, jeg. :roll:

Lenke til kommentar

Ja, jøss. Enorm forskjell. :lol:

 

Å lage en helt ny syntax for å gjøre akkurat det samme virker for meg helt tullete. Hvis dere ikke liker PHP, hvorfor i all verden bruker dere det? Se å ha dere over til Rails og HAML om dere liker alt ekstremt simpelt og elegant. Dersom dere absolutt skal gjøre det på den dumme måten - bruk noe annet enn Smarty. Det finnes tonnevis av skikkelige templatemotorer.

Endret av Jonas
  • Liker 1
Lenke til kommentar

Ja, jøss. Enorm forskjell. :lol:

 

Å lage en helt ny syntax for å gjøre akkurat det samme virker for meg helt tullete. Hvis dere ikke liker PHP, hvorfor i all verden bruker dere det? Se å ha dere over til Rails og HAML om dere liker alt ekstremt simpelt og elegant. Dersom dere absolutt skal gjøre det på den dumme måten - bruk noe annet enn Smarty. Det finnes tonnevis av skikkelige templatemotorer.

Tullete? Okey, jeg kan skjønne det så lenge vi snakker om private nettsider, men snakker vi om programvare ment for distribusjon, så bør du jekke ned holdningen ganske mange hakk og lære deg ordet 'sikkerhet'. Å gi template-systemet systemtilgang intet mindre en direkte galskap. Hvordan skal en normal bruker uten kjennskap til programmering kunne ivareta sikkerheten hvis du tillater at template-designere kan bruke PHP fult ut?

Lenke til kommentar

Hvis en normal bruker skal ha tilgang til å skrive templates, så er det et helt nytt krav. Hele poenget er at å benytte seg av Smarty eller andre templatemotorer er vanvittig meningsløst med mindre man trenger noe de tilbyr. Ellers representerer et system bestående av over 10.000 linjer bare en ny sikkerhetsrisiko og ikke noe mer. Titt heller på Twig.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...