Ik ben bezig met een CMS'je en ben op het punt aanbeland waarop ik templates wil implementeren. Met andere woorden: in het CMS zet ik een textarea waarin de template bestanden worden geopend. De gebruiker dan deze aanpassen en weer bewaren.
Persoonlijk vind ik het altijd wat onzin om een aparte template class te implementeren, omdat PHP zelf een uitstekende templating engine is. Het enige argument wat ik hoor voor een aparte template laag is dat het gebruiksvriendelijk is voor de designer (waarvan wordt aangenomen dat die enige simpele PHP niet onder de knie kan of wil krijgen). Ik zie alleen het verschil niet tussen:
en
Dus aangenomen dat het leren van wat eenvoudige PHP geen probleem is, wat is dan het grote voordeel van een extra template class, die alle {tags} gaat str_replace({artikel}, $artikel)' en?
Een belangrijk argument lijkt mij wel dat als je PHP toelaat in je templates, gebruikers PHP code kunnen toevoegen waar niemand op zit te wachten, terwijl men bij {deze vorm} gebonden is aan de {tags} die gedefinieerd zijn en geen eigen functies kan bouwen en toevoegen.
Is dat een valide argument? Wat zijn andere voor / nadelen van deze beide methoden?
Persoonlijk vind ik het altijd wat onzin om een aparte template class te implementeren, omdat PHP zelf een uitstekende templating engine is. Het enige argument wat ik hoor voor een aparte template laag is dat het gebruiksvriendelijk is voor de designer (waarvan wordt aangenomen dat die enige simpele PHP niet onder de knie kan of wil krijgen). Ik zie alleen het verschil niet tussen:
PHP:
1
2
3
4
5
6
| <table> <tr> <td><?= $linker_navigatie; ?></td> <td><?= $artikel; ?></td> </tr> </table> |
en
HTML:
1
2
3
4
5
6
| <table> <tr> <td>{linker_navigatie}</td> <td>{artikel}</td> </tr> </table> |
Dus aangenomen dat het leren van wat eenvoudige PHP geen probleem is, wat is dan het grote voordeel van een extra template class, die alle {tags} gaat str_replace({artikel}, $artikel)' en?
Een belangrijk argument lijkt mij wel dat als je PHP toelaat in je templates, gebruikers PHP code kunnen toevoegen waar niemand op zit te wachten, terwijl men bij {deze vorm} gebonden is aan de {tags} die gedefinieerd zijn en geen eigen functies kan bouwen en toevoegen.
Is dat een valide argument? Wat zijn andere voor / nadelen van deze beide methoden?
"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."