Ik ben erg nieuwsgierig of het eenvoudig is om een template engine te installeren in een bestaand systeem. Dit systeem is gebaseerd op PHP en is dus NIET gescript in een framework zoals bijvoorbeeld Zend Framework. Ik zou graag tips willen horen hoe ik het integreren van een template engine het beste kan aanpakken. Als het vrijwel onmogelijk is doordat de code vrijwel in zijn geheel herschreven zou moeten worden dan hoor ik dat natuurlijk ook graag.
Bedankt alvast !
Martijn
Note: Ik heb nog vrijwel geen ervaring met templates engines. Als ik nu voor 1 zou moeten kiezen, dan kies ik voor Smarty.
Zoals ik (ook) in de pm vermeld. Het hangt er van af hoe je nu te werk gaat. Wanneer je je code nu gescheiden hebt dan is enkel het wijzigen van linkjes en de templates van belang.
Wat ik niet in de pm heb vermeld: Tijd gaat er zowieso inzitten, maar ik denk dat het de moeite waard is.
Zoals ik (ook) in de pm vermeld. Het hangt er van af hoe je nu te werk gaat. Wanneer je je code nu gescheiden hebt dan is enkel het wijzigen van linkjes en de templates van belang.
Wat ik niet in de pm heb vermeld: Tijd gaat er zowieso inzitten, maar ik denk dat het de moeite waard is.
Wat ik nu uit je bericht haal, is dat je in een pm het antwoord hebt verzonden..
Waarom dat? Ik was er ook wel enigzins benieuwd naar, net als anderen misschien... Nu komt er later misschien weer eenzelfde topic omdat hier geen antwoord in staat.
M.a.w. post de oplossing / jou manier ook even hier
Nee dat is niet waar, in een pm heb ik erbij gezet om informatie uit te delen omdat ik ook net begonnen ben met Smarty, vond dit niet relevant voor in dit topic te vermelden.
En zoals ik al zei:Zoals ik (ook) in de pm vermeld.
Het hangt af van hoe je de code nu gebruikt. Als je alles slordig gebruikt en in één pagina 5x if $_GET["action"] e.d. gebruikt als controller dan ga je heel wat werk hebben dat weg te werken. Als je dit netjes hebt opgelost zal het wel meevallen maar kost het nog steeds tijd.
Éen ding is zeker: Het lezen van verschillende documentatie zal je leren het systeem te begrijpen zodat je zelf kan bepalen of je het nuttig vind. Het antwoord zal "ja" zijn naderhand waarschijnlijk.
Het gebruik van templatesystemen heeft vaak 2 redenen:
1. Gemende code (HTML & PHP) vormen te lange pagina's. Het overzicht is hierdoor weg.
2. Men wil (later) tussen 2 of meerdere layouts kunnen kiezen. En dit gaat verder dan kleuren (dit is immers makkelijker in css te regelen).
Als je 1 van deze twee redenen hebt, dan zou ik overstappen.
Op je vraag of het veel werk is: Ja.
Voor iemand die nog nooit met templatesystemen heeft gewerkt is het wennen. Je moet de logica ervan inzien (gebeurd wel snel hoor). Daarnaast moet je HTML en PHP van elkaar gaan scheiden, fysiek, in 2 aparte bestanden. Daar zit dus redelijk wat werk in.
Maar als je de logica door hebt, dan zul je zien wat voor mogelijkheden je krijgt door het gebruik van templates. Mocht je één van bovenstaande redenen hebben... dan zeker doen!
Ik raad BTW TemplatePower aan. Simpel te implementeren, en je kan blokken laten zien/verbergen doormiddel van condities. En dat kan echt een groot voordeel zijn!
Een inleiding van Templatepower staat op sitemasters
@ JeXus: En dat noemt zich dan programmeur.
Jezus... reageer dan gewoon niet, of onderbouw je verhaal. PHP is geen template Engine. Er is technisch gezien geen template engine. Alleen een paar php files die alles netjes in elkaar parsen.
@ JeXus: En dat noemt zich dan programmeur.
Jezus... reageer dan gewoon niet, of onderbouw je verhaal. PHP is geen template Engine. Er is technisch gezien geen template engine. Alleen een paar php files die alles netjes in elkaar parsen.
Goh, weer iemand die denkt alles te weten...
Ten eerste: PHP is altijd sneller dat een andere template engine, iedere _goede_ template engine compileert sowieso het template naar PHP code toe. Vertel eens, zou dit misschien niet komen doordat PHP gewoon sneller is?
Ten tweede: een designer mag zich niet druk hoeven maken over de data, de ontwikkelaar behoort zelf ervoor te zorgen dat data in een template terecht komt, en de verwerking ervan.
Je kunt zeggen wat je wil, maar PHP is ook nog eens veel overzichtelijker, en je krijgt tenminste meldingen als er een fout in je template zit, weer iets dat de meeste template engines niet doen:
Wauw, het onderste slaat nergens op, en het moet eerst ook nog gecompileerd en uitgevoerd worden. Als je er een foutje in maakt zie je dat alleen aan dat het er vreemd uitziet, als je bij een PHP-template een fout maakt krijg je gewoon netjes een melding.
N.B.: ik heb het ook over PHP als template, _niet_ PHP en HTML mixen per se. Ik handhaaf altijd een scheiding tussen applicatie-, domein- en presentatielogica. Niet PHP en HTML scheiden, dat is echt een uitroep van mensen die denken iets moeilijks gelezen te hebben.
Gelukkig, hij kan onderbouwen!
Als php echt zo goed met templates overweg kan.. dan is natuurlijk de grote vraag waarom er zoveel andere engines zijn.
JUIST! Omdat deze veel gebruiksvriendelijker en logischer zijn opgebouwd.
Daarnaast heb ik totaal 0,0 kunnen vinden over het feit dat php zelf een templateparser bevat.
Je kunt dan inderdaad proberen je eigen de hemel in te prijzen omdat je met MVC patterns werkt. Maar er zijn genoeg redenen te bedenken waarom je daar NIET mee zou willen werken.
en dat is geen uitroep van mensen iets moeilijks te hebben gelezen.
Maar pure logica: Ga dingen niet moeilijker maken van nodig is. Een simpele programmeur die met templates wil werken hoeft niet pers met MVC pattern te werken.
En omdat ik denk iets moeilijks te hebben gelezen zal ik dat ook maar even aangeven dat je alleen redeneert vanuit je eigen referentiekader.
Gelukkig, hij kan onderbouwen!
Als php echt zo goed met templates overweg kan.. dan is natuurlijk de grote vraag waarom er zoveel andere engines zijn.
JUIST! Omdat deze veel gebruiksvriendelijker en logischer zijn opgebouwd.
Juist, goed op weg om jezelf alweer de grond in te boren. Ken je het begrip "secundum quid"? Dat is dit dus.
ranco schreef:
Daarnaast heb ik totaal 0,0 kunnen vinden over het feit dat php zelf een templateparser bevat.
Eh, waar haal je vandaan dat ik dat zei? Ik zei dat PHP de template engine bij uitstek is, niet heeft.
ranco schreef:
Je kunt dan inderdaad proberen je eigen de hemel in te prijzen omdat je met MVC patterns werkt.
Wat heeft scheiding van applicatie-, domein- en presentatielogica met MVC te maken? MVC doet dat, ja, maar dat zegt niet dat dat de enige manier is waarop je de correcte scheiding van logica kunt bewerkstelligen.
Citaat:
Maar er zijn genoeg redenen te bedenken waarom je daar NIET mee zou willen werken.
Noem er eens eentje, en graag een correcte case. Ik ben zeer benieuwd.
Citaat:
en dat is geen uitroep van mensen iets moeilijks te hebben gelezen.
Maar pure logica: Ga dingen niet moeilijker maken van nodig is. Een simpele programmeur die met templates wil werken hoeft niet pers met MVC pattern te werken.
Even het gezeur over MVC negerend, wat is nou moeilijker: een template parser integreren in een project waarin je toch al PHP gebruikt, waardoor je meer syntax moet leren hiervoor, het compleet moet inbouwen, alle zooi die je ervoor nodig hebt, of een PHP-file includen? Juist, je spreekt jezelf wel eeerg tegen.
ranco schreef:
En omdat ik denk iets moeilijks te hebben gelezen zal ik dat ook maar even aangeven dat je alleen redeneert vanuit je eigen referentiekader.
Succes met je MVC patterns!
En dat noemt zich programmeur... Je kijkt echt niet verder dan je neus lang is, een paar dingen roepen die bij je opkomen gewoon omdat je het ergens niet mee eens bent is geen goede reclame.
Nouwja zoals ik al zei: Het is dus inderdaad veel werk om je systeem om te bouwen. Waar iemand voor kiest is z'n eigen smaak, zoals hij al zei.. als hij het deed, dan gaat hij voor Smarty.
Het kost nu misschien tijd, maar daarna heb je wel mooi gescheiden code en kan je alles redelijk eenvoudig toevoegen en muteren. Misschien dat dit later ook nog tijd scheelt.
Ik raad het je dus aan
//edit:
Even het gezeur over MVC negerend, wat is nou moeilijker: een template parser integreren in een project waarin je toch al PHP gebruikt, waardoor je meer syntax moet leren hiervoor, het compleet moet inbouwen, alle zooi die je ervoor nodig hebt, of een PHP-file includen? Juist, je spreekt jezelf wel eeerg tegen.
Jij hebt een reden om dus niet voor een template parser te kiezen. En hij heeft een reden om juist wel daarvoor te kiezen. Als je goed had gelezen werd er een mening gevraagd waarvan jij nu net 'beweert' lees: (er wel heel erg op aandringt) dat hij beter geen template parser moet nemen..
Richard - 24/12/2008 14:42 (laatste wijziging 24/12/2008 14:44)
Crew algemeen
Vertel eens, welke reden heeft hij? "PHP en HTML scheiden", nee, daarvoor heb je geen templates. Voor scheiden van applicatie- en presentatielogica, ja, daar zijn templates voor.
Echt, sommige mensen...
edit: Even voor de goede orde, ik wijs hier alleen maar op een fout in jullie logica. Doe er iets mee, zou ik zeggen.
wat ik doe is gewoon een layout maken, en wat daar in komt word bepaald met een GET en wat php... De rest is beetje controle en een include... Als ik een nieuwe layout wil, hoef ik alleen maar dat ene stukje code op de nieuwe plek te zetten en klaar.
Of begrijp ik dit topic nou helemaal verkeerd
edit: En betreft html en php gescheiden houden, Ik gebruik zat html in mn php bestanden. Ik zou niet weten hoe ik t moet scheiden... Ik heb 1 bestand waar de layout in word gemaakt, en extra html staat gewoon in de bestanden die ik include.
Een beetje tactisch dingen plaatsen is slim ja, maar om nou alles rete strak te verdelen kost meer dan het opleverd
Zoals ik al meerdere malen heb gezegd, maar waar blijkbaar niemand aandacht aan besteedt... PHP en HTML _hoor_ je niet te scheiden. Applicatie- en presentatielogica wel, en hoewel dat vaak op hetzelfde neerkomt, is het toch iets heel anders. Waarom zitten er 'blokken' in elke template engine? Dat is precies hetzelfde als een gewone loop in PHP, het ziet er alleen anders uit en moet nog gecompileerd worden en alles.
@JeXus: Er is een verschil tussen discussiëren en je gelijk willen halen.
We gaan niet eens meer inhoudelijk in op jouw reacties omdat jij bewezen vindt dat JIJ gelijk hebt, en niemand anders.
Dus bij deze: Je hebt gelijk!
Nou blij?
@ Martijn: Ik denk dat je genoeg stof uit dit topic hebt kunnen halen om een keuze te maken... toch?
Hallo na deze lange discusie dit ik heb gelezen is hier mijn mening.
Ik maak gebruiker van MVC pattern & templatepower.
Waarom juist templatepower, gewoon het is eenvoudig in gebruik en heeft een duidelijke documentatie op de website beschikbaar.
Smarty is naar mijn horen zeggen sneller maar in gebruik weet ik niet of het moeilijk of makelijker is.
Wat betreft bovenstaande discussie ik persoonlijk verkies orde.
Het vraagt inderdaad iets of wat meer werk om u code te laten werken met een een template maar eens dit werkt is het dan ook weer handig om later extreem snel "ditjes & datjes" aan te passen.
Ook toont de code netter aan en geeft mij een aangenamer gevoel van werken.
Hopelijk ben je wat met mijn informatie.
Oja nog meschien leuk om te weten, er zijn nog meer verschillende patterns/structuren google er maar eens op mess dat je wel iets intressant tegen komt zoals "n-tier".