Hoe wil jij de templateparser

Gestart doorRik17 reacties37 weergaven

18 berichten · pagina 1 van 2

Rik

Lid · Topicstarter

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Heya,

Ik had er met milan een beetje een discussie over op MSN en ik snap zijn standpunten ook wel, maar ik wil het toch ook aan jullie vragen:

Hoe zouden jullie een templateparser willen (voor GLS3)

Manier 1
Je hebt paginas die je kan inladen, waarin je gewoon normaal PHP kan gebruiken. En je hebt een algemene layout waar je die paginas in plaatst.

<html>
<head>
<title>[COLOR= #0000BB]<?php[/COLOR] [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$title[/COLOR][COLOR= #007700];[/COLOR] ?></title>
</head>
<body>
[COLOR= #0000BB]<?php[/COLOR]
[URL="http://www.php.net/foreach"]foreach[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$items[/COLOR] [COLOR= #007700]as[/COLOR] [COLOR= #0000BB]$item[/COLOR][COLOR= #007700])
{[/COLOR]
[URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$item[/COLOR][COLOR= #007700];
}[/COLOR]
?>
</body>
</html>


Voordelen:
Makkelijk voor programmeurs
Geen extra taal leren
Makkelijke parser voor te maken
Snel doordat het de parser van PHP zelf gebruikt.

Nadelen
PHP en HTML niet gescheiden (daar is een templateparse eigenlijk voor).
Designer moet kennis van PHP hebben

Manier 2
Dit is de "echte" templateparser. Een parser die blokken uitleest en deze dan gebruikt om acties uit te voeren

<html>
<head>
<title>[var: title]</title>
</head>
<body>
[loop: #items as #item]
    [print: #item]
[loop: end]
</body>
</html>


Voordelen:
Makkelijk voor designers
HTML en PHP gescheiden
Overzichtelijk

Nadelen
Extra taal leren
Slomere parser
Parser moeilijk te maken
0
Berichten
4.451
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik zou manier 1 kiezen,
Want Slomere parser zit niemand op te wachten.
En ik vind het er wat netter uit zien
0
Miel

Lid

Berichten
4.462
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Je manier 2 klopt niet.
Manier 2 is niet slomer.
Er is ook geen extra taal voor nodig, waar haal je dat vandaan?
En het werkt véééeéél beter/makkelijker.wink
0
Berichten
15.446
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
manier 1 is gewoon simpeler voor de wat minder goede scripters hier onder ons. Het is begrijpelijker.
0
Miel

Lid

Berichten
4.462
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik begrijp je niet helemaal Marjolein.
Voor manier 2 is juist veel minder kennis nodig. Rik legt het alleen niet goed uit.
Het werkt als volgt.

<html>
    
    <head>
        
        <title>{titel}</title>
        
    </head>
    
    <body>
        
        <!-- START BLOCK : loop -->
        {variabele}
        <!-- END BLOCK : loop -->
        
    </body>
    
</html>
0
Rik

Lid · Topicstarter

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Rnnet:
Ik zou manier 1 kiezen,
Want Slomere parser zit niemand op te wachten.
En ik vind het er wat netter uit zien

"slomer" heb ik misschien wat fout gedefineerd, maar ik ik bedoel dat je met manier 1 van PHP zelf gebruik maakt, terwijl je met manier 2 nog een extern script al het decodeer en vervangwerk moet laten uitvoeren.
Miel schreef:
Je manier 2 klopt niet.
Manier 2 is niet slomer.
Er is ook geen extra taal voor nodig, waar haal je dat vandaan?
En het werkt véééeéél beter/makkelijker.wink
Zie Hierboven
Het is gewoon nog een taal die je moet gebruiken en toepassen. Net zoals PHP een taal is, net zoals HTML een taal is, net zoals Javascript een tal is. Je zal de syntax van die taal moeten leren voordat je hem kan gebruiken. Daarom dus een extra taal.
Dat vraag ik dus in deze poll: wat andere mensen het beste (makkelijkste / handigste) vinden. En kennelijk zijn toch meer mensen voor manier 1 omdat de taal die daar gebruikt wordt (PHP) vertrouwder is dan de templatetaal.

Verder is manier 1 ook flexibeler, omdat je elke PHP code nog gewoon kan gebruiken, voor manier 2 moet je dan een nieuw block maken dat weer geparsed wordt als een bepaalde php code, en heb je dus dubbel werk.
0
Miel

Lid

Berichten
4.462
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Het is geen taal, het is gewoon html, met twee Engelse woordjes, "new" en "block".
Edit: En "end".emo
0
Berichten
1.544
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik zou voor optie 2 gaan.
Ik vind het makkelijker te intergreren.
En ik ben het niet eens met dat het moeilijker is.
Zolang er een goed uitleg bijzit van welke optie wat is dan kan iedereen het.
0
Rik

Lid · Topicstarter

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Naja, de tempateparser zit er nu al in. Mochten mensen uiteindelijk toch denken dat de andere beter is, dan hoor ik dat wel en dan kan ik ALSNOG kijken ok ik voor manier 2 de templateparser maak / zoek.
0
Berichten
2.517
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik kies voor optie 1 biggrin
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
Manier 1 is toch geen templateparser maar gewoon een PHP bestand?
0
Rik

Lid · Topicstarter

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Lennard schreef:
Manier 1 is toch geen templateparser maar gewoon een PHP bestand?
In feite wel ja..
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
Ok dan snap ik het. emo
0
Krm

Lid

Berichten
6.235
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
omdat ik alleen manier 1 begrijp kies ik 1
0
Berichten
970
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik ben nu bezig met een .tpl bestand. Dan krijg je als je PHP wilt doen dit:

<html>
    
    <head>
        
        <title>{titel}</title>
        
    </head>
    
    <body>
        {php}
[COLOR= #0000BB]<?php[/COLOR]
[URL="http://www.php.net/foreach"]foreach[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$items[/COLOR] [COLOR= #007700]as[/COLOR] [COLOR= #0000BB]$item[/COLOR][COLOR= #007700])
{[/COLOR]
[URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$item[/COLOR][COLOR= #007700];
}[/COLOR]
?>
{/php}
       
        
    </body>
    
</html>
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren