[PHP] Templates, Sneller of niet?

Pagina: 1
Acties:
  • 150 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • daank
  • Registratie: Januari 2001
  • Laatst online: 12:56

daank

Internet _H3nk

Topicstarter
Sinds een tijdje ben ik bezig met een site waarbij ik gebruik moet maken van verschillende website layout's , oftewel templates.

op dit moment bouw ik die templates op de volgende manier op
PHP:
1
2
3
4
5
6
7
8
9
10
<html>
<head>
<title><?=$title?></title>
</head>
<body>
<?=header();?>
<?=content();?>
<?=footer();?>
</body>
</html>

zo een bestand include ik in de index.php en de functies includen weer andere html-template bestanden.

Nu zit ik op een aantal sites wat template-engines te bekijken en die lezen een bestand in een string/array en doen dan een preg_replace e.d.

Mijn vraag. Wat is nu sneller voor het weergeven van verschillende website layouts?

Acties:
  • 0 Henk 'm!

  • creative8500
  • Registratie: September 2001
  • Laatst online: 01-02 14:14

creative8500

freedom.

Gebruik een bestaande template-engine, Smarty bijvoorbeeld, scheelt je zeëen met tijd.

Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 19-09 22:18

chem

Reist de wereld rond

PHP *is* een template engine, en daar er nog 1 inbouwen is altijd langzamer. Wat men dus doet is een eenvoudigere interface bieden voor de webdesigners die niks van PHP hoeven te weten, en dus andere "if" statementes kunnen maken etc.

Vervolgens zet men de tpl-code om in echte PHP code, en bewaart die.

ergo: als je zelf de templates maakt, dan moet je gewoon PHP gebruiken.

[ Voor 11% gewijzigd door chem op 07-09-2004 17:12 ]

Klaar voor een nieuwe uitdaging.


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

DaanK schreef op 07 september 2004 @ 17:02:
Mijn vraag. Wat is nu sneller voor het weergeven van verschillende website layouts?
andere CSS file :)
creative8500 schreef op 07 september 2004 @ 17:09:
Gebruik een bestaande template-engine, Smarty bijvoorbeeld, scheelt je zeëen met tijd.
hoezo dat dan, leg eens uit :)

Acties:
  • 0 Henk 'm!

  • zeroxcool
  • Registratie: Januari 2001
  • Laatst online: 19-09 09:59
Erkens schreef op 07 september 2004 @ 17:11:
[...]

hoezo dat dan, leg eens uit :)
Dat scheelt veel meer tijd dan er zelf één te maken bedoelt hij denk ik.

zeroxcool.net - curity.eu


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

ZeRoXcOoL schreef op 07 september 2004 @ 17:20:
[...]

Dat scheelt veel meer tijd dan er zelf één te maken bedoelt hij denk ik.
dat vraag ik me af, ik heb ooit eens naar dat pakket gekeken, maar toen toch zelf Maar wat in elkaar gedraait, 90% van wat dat Smarty kan dat gebruik je nooit imo, dus vertraagt het alleen maar tijdens de uitvoer van je script.
Terwijl ik met een paar simpele str_replace() instructies klaar was ;)

Acties:
  • 0 Henk 'm!

  • creative8500
  • Registratie: September 2001
  • Laatst online: 01-02 14:14

creative8500

freedom.

Erkens, mijn keus zou het ook niet zijn, integendeel... ;) Smarty biedt ook duizendenéén mogelijkheden teveel om het hele idee van een templating naar zijn grootje te helpen, als je het mij vraagt.

Maar on-topic: "één site met verschillende layouts, oftewel templates". Moet je "templates" hier niet eigenlijk vervangen door "stylesheets"? :o

offtopic:
Hoe wil je overigens met str_replace een foreach-loop creëeren? Antwoord is niet echt relevant, maar ik wil maar zeggen: zo simpel kun je ook weer niet stellen; bovendien zijn er hier mensen die dergelijke uitspraken uit jouw mond letterlijk aannemen...

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

creative8500 schreef op 07 september 2004 @ 22:00:
Maar on-topic: "één site met verschillende layouts, oftewel templates". Moet je "templates" hier niet eigenlijk vervangen door "stylesheets"? :o
Mja, stylesheets zijn een leuk concept, maar imho enorm slecht uitgewerkt. Met stylesheets heb je ook geen volledige controle over de layout, je bent namelijk altijd aangewezen op de manier waarop je html is opgebouwd. Met templates kun je meer (en dat is bovendien wat makkelijker ;))


Waarom mensen zelf gaan str_replacen als je net zo goed gewoon php code kunt gebruiken is mij altijd al een raadsel geweest ;)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

creative8500 schreef op 07 september 2004 @ 22:00:
offtopic:
Hoe wil je overigens met str_replace een foreach-loop creëeren? Antwoord is niet echt relevant, maar ik wil maar zeggen: zo simpel kun je ook weer niet stellen; bovendien zijn er hier mensen die dergelijke uitspraken uit jouw mond letterlijk aannemen...
Heel eenvoudig, dat doe ik met PHP, ik gebruik meerdere files indien nodig, dus als er een stukje herhaald moet worden dan zit dat stukje in een losse file :)
.oisyn schreef op 07 september 2004 @ 22:14:
Mja, stylesheets zijn een leuk concept, maar imho enorm slecht uitgewerkt. Met stylesheets heb je ook geen volledige controle over de layout, je bent namelijk altijd aangewezen op de manier waarop je html is opgebouwd. Met templates kun je meer (en dat is bovendien wat makkelijker ;))
imo moet je dan zorgen voor een goede structuur in de HTML, dan kan je in principe alles bereiken met een andere stylesheet :)
Waarom mensen zelf gaan str_replacen als je net zo goed gewoon php code kunt gebruiken is mij altijd al een raadsel geweest ;)
Omdat veel programmeurs slechte HTML'ers zijn, die dat werkje liever aan iemand overlaten die daar verstand van heeft :P

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

Erkens schreef op 07 september 2004 @ 22:31:
imo moet je dan zorgen voor een goede structuur in de HTML, dan kan je in principe alles bereiken met een andere stylesheet :)
En dat is dus niet waar. Neem dit forum en zijn posts (de oude GoT template heb ik het nu over). Nou gebruiken ze tables, maar stel even dat ze dat niet gedaan hadden. En stel ik wil een layout waarin eerst alle namen, iconen, ondertitels e.d. onder elkaar worden gezet, en daarna alle posts. Hoe doe je dat dan met een stylesheet?
Omdat veel programmeurs slechte HTML'ers zijn, die dat werkje liever aan iemand overlaten die daar verstand van heeft :P
En je punt is...?

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

.oisyn schreef op 07 september 2004 @ 22:38:
En dat is dus niet waar. Neem dit forum en zijn posts (de oude GoT template heb ik het nu over). Nou gebruiken ze tables, maar stel even dat ze dat niet gedaan hadden. En stel ik wil een layout waarin eerst alle namen, iconen, ondertitels e.d. onder elkaar worden gezet, en daarna alle posts. Hoe doe je dat dan met een stylesheet?
zal vast wel mogelijk zijn, echter in dat soort specifieke gevallen zijn templates handiger ja. Maar hoe vaak is zoiets gewenst, je haalt de structuur onderuit daarmee ;)
En je punt is...?
dat zeg ik toch :?
bot gezegt:
programmeurs kunnen niet goed HTML
HTML'ers kunnen niet programmeren

programmeurs maken een makkelijke interface voor de HTML'ers
HTML'ers maken templates
iedereen blij :)

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

Erkens schreef op 07 september 2004 @ 22:45:
dat zeg ik toch :?
bot gezegt:
programmeurs kunnen niet goed HTML
HTML'ers kunnen niet programmeren
Of je nou iemand de { } syntax of de <? ?> syntax aanleert, dat maakt natuurlijk geen fuck uit. Je kunt de HTML'ers dus de templates gewoon in php laten ontwerpen, hoef je zelf ook niet moeilijk te gaan str_replaces aangezien PHP dat prima zelf kan

[ Voor 21% gewijzigd door .oisyn op 07-09-2004 22:51 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

.oisyn schreef op 07 september 2004 @ 22:50:
[...]


of je nou iemand de { } syntax of de <? ?> syntax aanleert, dat maakt natuurlijk geen fuck uit
niet?
een simpel voorbeeldje:

HTML:
1
2
3
<html>
<body>{content}</body>
</html>


PHP:
1
2
3
<html>
<body><?=$content ?></body>
</html>


In de html versie hierboven kan de HTML'er prima zijn favoriete editor (frontpage :+ ) gebruiken zonder dat het fout gaat.
Zou je deze persoon het met php laten doen dan kan het zijn dat zijn editor het niet goed doet op de een of andere manier.
Daarnaast kan er nooit geklooid worden met code die daardoor weer kapot kan gaan.
Maar in principe is er weinig verschil hoor, wat je ze leert. Het is maar net waar je je keuze op legt. Ik parse liever zelf de HTML dan dat ik dat door PHP laat doen.
offtopic:
ow en vergeet de "<?xml " zooi niet, snapt PHP ook niks van ;)

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

Erkens schreef op 07 september 2004 @ 22:55:
[...]

niet?
een simpel voorbeeldje:

HTML:
1
2
3
<html>
<body>{content}</body>
</html>


PHP:
1
2
3
<html>
<body><?=$content ?></body>
</html>


In de html versie hierboven kan de HTML'er prima zijn favoriete editor (frontpage :+ ) gebruiken zonder dat het fout gaat.
Zoals je zelf al zegt is het een simpel voorbeeldje. Zodra je loops e.d. gaat introduceren klopt een wysiwyg editor toch al niet meer
offtopic:
ow en vergeet de "<?xml " zooi niet, snapt PHP ook niks van ;)
Daar heb je instellingen voor.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • JaQ
  • Registratie: Juni 2001
  • Laatst online: 20:52

JaQ

.oisyn schreef op 07 september 2004 @ 22:38:

En dat is dus niet waar. Neem dit forum en zijn posts (de oude GoT template heb ik het nu over). Nou gebruiken ze tables, maar stel even dat ze dat niet gedaan hadden. En stel ik wil een layout waarin eerst alle namen, iconen, ondertitels e.d. onder elkaar worden gezet, en daarna alle posts. Hoe doe je dat dan met een stylesheet?
Je zou natuurlijk div's kunnen gebruiken die je postioneerd vanuit je stylesheet... Het stylesheet wordt wat complex, maar het is zeker mogelijk. (moet je die vraag maar eens in W&G stellen ;) )

Persoonlijk kies ik er steeds meer voor om php te gebruiken voor logica en niet voor layout zaken. Ik gebruik daarbij geen apparte template engine (zoals bijvoorbeeld smarty), maar str_replace en (veel) css.

Egoist: A person of low taste, more interested in themselves than in me


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

.oisyn schreef op 07 september 2004 @ 23:27:

Zoals je zelf al zegt is het een simpel voorbeeldje. Zodra je loops e.d. gaat introduceren klopt een wysiwyg editor toch al niet meer
Maar daar had jij het ook niet over ;)
Jij had het over simpele str_replace's

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Erkens schreef op 07 september 2004 @ 22:55:
offtopic:
ow en vergeet de "<?xml " zooi niet, snapt PHP ook niks van ;)
Short opening tags disablen. :)

Overigens is het argument dat je hier aandraagt voor templates het enige dat IMHO standhoudt. Op de plaats van <?=$content; ?> in het voorbeeld dat je noemt, komt tijdens het testen van het template in je browser niets te staan, terwijl er bij {content} toch iets van info op het scherm komt. Dat is een stuk minder omslachtig dan eerst testen met testwaardes, en daarna die testwaardes door variabelen vervangen.

Zwak argument, I know, maar wel het enige dat standthoudt. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

NMe84 schreef op 07 september 2004 @ 23:41:
[...]

Short opening tags disablen. :)
dan werkt <?= ook niet meer
short_open_tag boolean

Tells whether the short form (<? ?>) of PHP's open tag should be allowed. If you want to use PHP in combination with XML, you can disable this option in order to use <?xml ?> inline. Otherwise, you can print it with PHP, for example: <?php echo '<?xml version="1.0"'; ?>. Also if disabled, you must use the long form of the PHP open tag (<?php ?>).

Note: This directive also affects the shorthand <?=, which is identical to <? echo. Use of this shortcut requires short_open_tag to be on.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Jup, maar er is dus een oplossing. :P En anders gewoon echoen met PHP, ook niet zo'n groot probleem.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Voor de snelheid, mja het kost de template engine van react 0.11 seconden om deze pagina te genereren. Ik ben bezig met een site die dat in 0.02 seconden kan doen (niet zo groot als 100 posts per view, ok, maar genoeg te replacen).

Ik maak gebruik van een template engine, wegens:
• Veiligheid; je designer kan geen php codes gebruiken in zn design (makkelijk bij opensource).
• Gebruiksgemak in het maken van loops, geen code door je templatefile heen en maar 1 templatefile per paginatype (uiterlijk pagina, forum heeft dus bv read, edit, etc). Hierdoor hoef ik niet te zoeken tussen 80 templates (waar ik er nu maar 15 heb).

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Verwijderd schreef op 08 september 2004 @ 00:53:
• Veiligheid; je designer kan geen php codes gebruiken in zn design (makkelijk bij opensource).
Zwak argument. Gaat alleen op als je je designer niet vertrouwt. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • daank
  • Registratie: Januari 2001
  • Laatst online: 12:56

daank

Internet _H3nk

Topicstarter
creative8500 schreef op 07 september 2004 @ 17:09:
Gebruik een bestaande template-engine, Smarty bijvoorbeeld, scheelt je zeëen met tijd.
uhm , die zeëen van tijd gaat weer in het leren van smarty zitten. (eenmalig maar toch)
Erkens schreef op 07 september 2004 @ 17:25:
[...]

dat vraag ik me af, ik heb ooit eens naar dat pakket gekeken, maar toen toch zelf Maar wat in elkaar gedraait, 90% van wat dat Smarty kan dat gebruik je nooit imo, dus vertraagt het alleen maar tijdens de uitvoer van je script.
Terwijl ik met een paar simpele str_replace() instructies klaar was ;)
zo een str_replace is toch trager dan mijn voorbeeld? of zie ik dit nu verkeerd?


anyway .. ik heb zelf zo een idee dat het in de overhead zit.
Een template opbouwen op mijn manier vergt op den duur heeeel veel bestanden die ge-include moeten worden.
Of dat nou de boel vertraagd weet ik overigens niet , aangezien ik het nog nooit op een andere manier heb gemaakt.

Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 19-09 22:18

chem

Reist de wereld rond

Verwijderd schreef op 08 september 2004 @ 00:53:
Voor de snelheid, mja het kost de template engine van react 0.11 seconden om deze pagina te genereren. Ik ben bezig met een site die dat in 0.02 seconden kan doen (niet zo groot als 100 posts per view, ok, maar genoeg te replacen).
.
Die 0.11 seconde gaat helemaal op in if-statements, loops en concats; dat zal in native PHP echt niet sneller kunnen (tenzij je echo gaat gebruiken ivm ob).

In 1 bericht zitten al 33 if-statements, 97 variabelen, 3 functie-calls en een aantal variabele-declaraties (om her te gebruiken in andere templates); doe dat 100x, voeg die samen in een string, plaats die in een nieuw string waar ook een tiental if-statements zitten en kijk dan hoe snel dat in 'echte' PHP kan.

Daarbij moet je in die 0.11 ook nog even wat arrays samenvoegen en de rechten checken; while you're at it. Owh, en dat niet 1x, maar tientallen malen per seconde.

Mijn punt: een kale template-engine is altijd sneller dan 1 die in de praktijk gebruikt wordt en extra functies moet uitvoeren.

Klaar voor een nieuwe uitdaging.


Acties:
  • 0 Henk 'm!

  • daank
  • Registratie: Januari 2001
  • Laatst online: 12:56

daank

Internet _H3nk

Topicstarter
dus , in feite wat je zegt is
dat het beter is om een eigen template engine te bouwen rond je site dan een kant-en-klare oplossing te gebruiken?

Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 19-09 22:18

chem

Reist de wereld rond

DaanK schreef op 08 september 2004 @ 11:47:
dus , in feite wat je zegt is
dat het beter is om een eigen template engine te bouwen rond je site dan een kant-en-klare oplossing te gebruiken?
Wat ik zeg, is dat je niet PHP en template-parser tijden 1-op-1 moet vergelijken.

Probeer diverse oplossingen in een real-world omgeving en kijk dan wat sneller is. Denk daarbij ook dat 0.03 seconde sneller niet zaligmakend is; daar merkt de gebruiker geen mallemoer van - maar 0.03 seconde langzamer en een beter bruikbare en onderhoudbare oplossing kan dan een veel betere oplossing zijn.

Klaar voor een nieuwe uitdaging.


Acties:
  • 0 Henk 'm!

  • daank
  • Registratie: Januari 2001
  • Laatst online: 12:56

daank

Internet _H3nk

Topicstarter
hmmz .. dat is een goede jah...

bedankt voor de goede reacties _/-\o_

Acties:
  • 0 Henk 'm!

Verwijderd

Ah kijk, react checkt dus ook security in de templates, op zich niet slecht. Ik bereken de loop's enzo niet eens mee eigenlijk (mja half, iedere keer dat ik replace in de loop). De while/for(each) zit alleen in mn totale tijd verwerkt.

Acties:
  • 0 Henk 'm!

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 20:38

alienfruit

the alien you never expected

Ik maak zelf veel gebruk van XML en XSLT, waarbij ik "templates" op sla in het XML formaat -- dit is vooral voor de metadata -- dit bevat dan mogelijk template code zoals VBScript voor ASP, of PHP bij de PHP-versie van het systeem.

Acties:
  • 0 Henk 'm!

Verwijderd

Ik zou de aanpak kiezen waarbij je met het ontwikkelen de minste tijd kwijt bent. Die 1ms of 2ms, waar praat je dan over.

Acties:
  • 0 Henk 'm!

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

Verwijderd schreef op 08 september 2004 @ 15:00:
Ik zou de aanpak kiezen waarbij je met het ontwikkelen de minste tijd kwijt bent. Die 1ms of 2ms, waar praat je dan over.
Dat valt me nou een beetje tegen van jou ;) Als je 1x wat meer tijd steekt in een template engine waar je zelf goed mee kan werken en die in je volgende sites ook kan gebruiken scheelt dat op den duur natuurlijk meer...

Stop uploading passwords to Github!


Acties:
  • 0 Henk 'm!

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 20:38

alienfruit

the alien you never expected

Ja, maar als je ontwikkelaar ook de hardware levert, hoef het natuurlijk niet snel te zijn ;) Computers zijn ook niet duur dus, als ze die 175euro/uur kunnen betalen kunnen ze ook wel server kopen, laten ze me maar een dag minder werken :+

Acties:
  • 0 Henk 'm!

Verwijderd

Papa Eend schreef op 08 september 2004 @ 15:07:
Dat valt me nou een beetje tegen van jou ;) Als je 1x wat meer tijd steekt in een template engine waar je zelf goed mee kan werken en die in je volgende sites ook kan gebruiken scheelt dat op den duur natuurlijk meer...
Want? Als je de site met C++ dlls of cgi maakt ben je ook weer sneller, sterker nog maak de boel in machinecode, ben je nog sneller ;) De kracht van talen als php ligt hem in de productiesnelheid.

Bovendien bedoel ik met mijn vorige opmerking niet de initiele development, maar natuurlijk de development op lange termijn. Kortom, maak iets waar je gewoon niet teveel tijd in kwijt bent bij het ontwikkelen van templates.

[ Voor 5% gewijzigd door Verwijderd op 08-09-2004 15:35 ]


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

Verwijderd schreef op 08 september 2004 @ 15:35:
sterker nog maak de boel in machinecode, ben je nog sneller ;)
Onzin, om even een voorbeeld te geven: het aantal mensen hier op GoT die in staat zijn een goede hedendaagse C++ compiler eruit te trekken met machinecode zijn op een hand te tellen.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • RwD
  • Registratie: Oktober 2000
  • Niet online

RwD

kloonikoon

.oisyn schreef op 07 september 2004 @ 23:27:

[...]


Zoals je zelf al zegt is het een simpel voorbeeldje. Zodra je loops e.d. gaat introduceren klopt een wysiwyg editor toch al niet meer

Ahaaa, maar daar komt de keuze van je template engine dan weer om de hoek kijken, want niet alle template engines plaatsen die loops zodat weergave onmogelijk is. Loops grenzen worden bijvoorbeeld ook door een template engine gebaseerd op de html tags waarin de loop staat. En dan kun je dus wel wysiwyg-en.

Helaas is de template engine die ik gebruik en hierboven bedoel niet de snelste. Ook al heb ik ooit eens beweerd dat ie erg snel was, dat was een mismeting :P Hij wordt wel steeds sneller en het is nog maar millisecondenwerk tov andere snelle engines...

[ Voor 19% gewijzigd door RwD op 08-09-2004 15:58 ]


Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
.oisyn schreef op 07 september 2004 @ 22:38:
[...]


En dat is dus niet waar. Neem dit forum en zijn posts (de oude GoT template heb ik het nu over). Nou gebruiken ze tables, maar stel even dat ze dat niet gedaan hadden. En stel ik wil een layout waarin eerst alle namen, iconen, ondertitels e.d. onder elkaar worden gezet, en daarna alle posts. Hoe doe je dat dan met een stylesheet?
Als je XSLT als een soort stylesheet ziet kan het makkelijk. ;)

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 20:38

alienfruit

the alien you never expected

Onzin, om even een voorbeeld te geven: het aantal mensen hier op GoT die in staat zijn een goede hedendaagse C++ compiler eruit te trekken met machinecode zijn op een hand te tellen.
Nou Assembler is toch ook niet leuk om in te programmeren, imho :) Voor sommige optimalisaties misschien, maar alles :|

Acties:
  • 0 Henk 'm!

Verwijderd

.oisyn schreef op 08 september 2004 @ 15:51:
Onzin, om even een voorbeeld te geven: het aantal mensen hier op GoT die in staat zijn een goede hedendaagse C++ compiler eruit te trekken met machinecode zijn op een hand te tellen.
Hap hap... ;)

Acties:
  • 0 Henk 'm!

Verwijderd

hier nog even een voorbeeldje van hoe je met een standaardinhoud van je code en css toch verschillende layouts kunt krijgen:
http://www.csszengarden.com/

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

RwD schreef op 08 september 2004 @ 15:56:
[...]
Ahaaa, maar daar komt de keuze van je template engine dan weer om de hoek kijken, want niet alle template engines plaatsen die loops zodat weergave onmogelijk is. Loops grenzen worden bijvoorbeeld ook door een template engine gebaseerd op de html tags waarin de loop staat. En dan kun je dus wel wysiwyg-en.
En toch heb je er geen ruk aan, aangezien je met slechts 1 element niet kunt zien hoe het geheel eruit komt te zien. Nou ben ik geen webdesigner, maar imho maak je gewoon eerst een concept in gewone html (dus echt een los html bestandje, geen template dat gebruik maakt van de aangeleverde data), en vervolgens ga je dat concept omzetten in een daadwerkelijke template. Voor die laatste stap is geen wysiwyg editor vereist. Sterker nog, met een gewone texteditor zal het denk ik zelfs makkelijker gaan.
Grijze Vos schreef op 08 september 2004 @ 16:03:
[...]

Als je XSLT als een soort stylesheet ziet kan het makkelijk. ;)
We hadden het over CSS ;)
Ik zie XSLT meer als een template dan als een stylesheet
Makkelijk he, zo'n opmerking

[ Voor 3% gewijzigd door .oisyn op 08-09-2004 18:36 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

Verwijderd

.oisyn schreef op 08 september 2004 @ 18:35:
Makkelijk he, zo'n opmerking
Het is heel simpel, ik gaf in mijn antwoord de essentie weer. Er is altijd wat snellers op de markt, maar de waarde van snel ontwikkelen op een bestaand platform is velen malen hoger dan die van 2ms winst op een request met templates.

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

En ik hielp een veelvoorkomend misverstand uit de lucht dat je met machinecode veel snellere code schrijft dan elke andere taal. Natuurlijk, zo'n taal compileert ook naar machinecode, dus je kunt iig minstens net zo snelle code schrijven. Maar met de hedendaagse processors met hun ellenlange pipelines, goede branch predictions en uitgebreide cache moet je verdomd veel verstand hebben om daar nog veel winst op te halen.

Kijk, ik snap wel dat je het gebruik van machinecode voor een template engine niet serieus bedoelde, maar dat is niet waarop ik reageerde. Ik reageerde op het feit dat je zei dat hij het met machinecode nog sneller kan doen, waarop ik zeg: nee, dat kan hij niet, en er zijn maar weinig mensen die dat wel kunnen :)

[ Voor 6% gewijzigd door .oisyn op 08-09-2004 23:42 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • MisterData
  • Registratie: September 2001
  • Laatst online: 29-08 20:29
En wat dacht je ervan om XSLT te gebruiken in PHP? Is nog sneller dan welke PHP-template-engine ook, aangezien het in een module zit en niet in PHP zelf is geimplementeerd (interpreted is het dus niet). Verder zitten er bij XSLT nog een zooi leuke features en tegenwoordig, zeker in PHP5, is XSLT-support redelijk goed :) Ik spreek uit ervaring iig...

Oh, en ik heb een tijd geleden een volledig stackbased (dus ondersteuning voor geneste foreach, if/else en dat soort gein) template-parser geschreven in PHP, en die is bij zeer kleine templates wel sneller, maar bij de 'real-world' templates was het zeker wel trager :) De template-engine kun je trouwens vinden op https://svn.mycms.nl/tplphp als het goed is :)

[ Voor 35% gewijzigd door MisterData op 09-09-2004 09:29 ]


  • RwD
  • Registratie: Oktober 2000
  • Niet online

RwD

kloonikoon

.oisyn schreef op 08 september 2004 @ 18:35:
[...]


En toch heb je er geen ruk aan, aangezien je met slechts 1 element niet kunt zien hoe het geheel eruit komt te zien. Nou ben ik geen webdesigner, maar imho maak je gewoon eerst een concept in gewone html (dus echt een los html bestandje, geen template dat gebruik maakt van de aangeleverde data), en vervolgens ga je dat concept omzetten in een daadwerkelijke template. Voor die laatste stap is geen wysiwyg editor vereist. Sterker nog, met een gewone texteditor zal het denk ik zelfs makkelijker gaan.
Ik doe zelf al mn werk in Textpad, dus heel eerlijk gezegd kan me het wysiwyg niet veel boeien; meestal is het toch niet wysiwywant (wysiwyw dus)... Ook het ontwerp traject gaat zoals jij zegt ongeveer. Wat me wel boeit is het nut van template engines. Als ik de meeste template engines zie dan is de vergelijking met php code er idd, met loops en alles. Ik geloof ook dat jij het ermee eens was in het verleden dat je net zo goed php kunt gebruiken ipv de meeste(tot alle) template engines. Maar de engine die ik gebruik is als je er aan gewend bent juist zeer overzichtelijk, en gewoon bekijkbaar in je browser. Daardoor krijg ik een visuele presentatie van het template en aangezien ik nogal visueel ingesteld ben is dit een zeer fijne optie!!

Ow trouwens, ik kan je zat voorbeelden geven waarbij je aan het template kunt zien hoe het uiteindelijk uit zal zien... Soms met wat meer benodigd verbeeldings vermogen dan andere keren.

Of ik sneller of langzamer programmeer/draai geeft niet meer voor die milliseconden als het maar prettig programmeerd...

offtopic:
(ff voor de duidelijkheid: als ik dus een duidelijke wysiwyw editor zou vinden met goede textbewerkingsopties en syntax coloring zou textpad dus verleden tijd zijn. Visueel wint het dan van text...
Als iemand suggesties heeft)

  • Mithrandir
  • Registratie: Januari 2001
  • Laatst online: 21:22
MisterData schreef op 09 september 2004 @ 09:25:
En wat dacht je ervan om XSLT te gebruiken in PHP? Is nog sneller dan welke PHP-template-engine ook, aangezien het in een module zit en niet in PHP zelf is geimplementeerd (interpreted is het dus niet). Verder zitten er bij XSLT nog een zooi leuke features en tegenwoordig, zeker in PHP5, is XSLT-support redelijk goed :) Ik spreek uit ervaring iig...

Oh, en ik heb een tijd geleden een volledig stackbased (dus ondersteuning voor geneste foreach, if/else en dat soort gein) template-parser geschreven in PHP, en die is bij zeer kleine templates wel sneller, maar bij de 'real-world' templates was het zeker wel trager :) De template-engine kun je trouwens vinden op https://svn.mycms.nl/tplphp als het goed is :)
Op bijvoorbeeld GoT wordt een template engine gebruikt die vergelijkbaar is met smarty met de manier van templates verwerken: compilen naar PHP code. En dan is het erg vlot.

Verbouwing


Verwijderd

Ik lees veel over wel of niet template gebruiken of dit nu intern of extern van php is..

Mijn opino is bij deze het volgende; ik denk dat wanneer je snel en gestructureerd wil programmeren (scripten) je wel bij een grotere site gaat werken met templates; dit omdat updates op bijvoorbeeld code en html zo gemaakt zijn en wanneer dit allemaal in de code zelf gebakken zit moet je al de code ed gaan doorsplitten, daarnaast is het bijvoorbeeld veel effectiever als je oude site geupdated gaat worden en jij een template bouwer de opdracht kan geven je oude templates om te bouwen naar nieuwe.

en je code wordt sneller gecompileerd (denk ik; zal wel altijd ietsje schelen. teminste als je niet een alte complexe parser hebt).

Zelf gebruik ik een parser die simpele functies heeft zoals het toevoegen van een variabel, zelfs een variabelen array (voor bv een loop) en extra functies om te controlleren of een bepaalde variabel is gezet of niet. Meer dan genoeg..

Maar nogmaals als je gewoon veel kleine scriptjes (tooltjes) maakt is het dom en onlogisch om dan ook nog templates te gaan gebruiken, dan zou ik er zelf wederom voor kiezen om de templates in de code zelf te verwerken.
Pagina: 1