Avatar billede per-d Nybegynder
16. marts 2004 - 12:13 Der er 4 kommentarer og
1 løsning

Brug af template i php.

Hej eksperter,

Jeg har i et stykke tid programmeret hjemmeside i php hvor der ingår templates og classer. Når jeg mener templates er det en total adskilledse af php og html. Men jeg synes det system virker tungt så derfor kunne jeg godt tænke mig at vide hvordan i vil bygge sådan et system op. Altså hvor der indgår classes og templates og sprogfiler.
Avatar billede dennismp Nybegynder
16. marts 2004 - 14:32 #1
Jeg undre mig lidt over at du ønsker at skille php og html ad. Hvis du mener adskillelse af logik og layout, så er jeg mere rolig :-).

Det kommer an på hvilke krav du har. I princippet er der intet i vejen for at du bruger nogle php-klasser til at lave layout (MEN IKKE LOGIK) og andre klasser der indeholder logikken. Herved får du en forøget hastighed iforhold til templates-parsers lavet i php (da phps egen parser er lavet i c) og du undgår dermed dobbelt parsing (php parser din template-parser, som så parser en template). Udover en hastigheden, så får du også hele php sproget til din rådighed.

Ulemper: Det kræver deciplin at overholde opdelingen, så man ikke "lige hurtigt laver lidt logik i layoutkoden". Og så gives der også mulighed for flere fejl (og decideret kodefejl i templaten). F.x hvis du bruger {TAG} som dit template sprog, så vil der oplagt ikke være ligeså mange fejlmuligheder, men det vil også begrænse mulighederne for at styre layout, hvor man så måske vil være tilbøjeligt til at lægge layout kode over i logik-delen.

Sporget kan håndteres på flere måder.. Du kan lave et array og ligge teksterne deri, eller bruge gettext() eksempelvis. Har ikke selv erfaring med gettext().

Håber det kan bruges.
Avatar billede per-d Nybegynder
16. marts 2004 - 18:41 #2
I øjeblikket bruger jeg en template parser i php som jeg selv har lavet altså en der henter en template fil og replacer alle (Et eller andet) til Et eller andet håber du forstår hvad jeg mener. Men jeg forstår ikke helt hvad det så er du mener man kan gøre i stedet for. HEle grunden til at bruge det template for mig er jo at det skal være nemt at skifte design.
Avatar billede dennismp Nybegynder
16. marts 2004 - 18:59 #3
Det kan du også snildt, selvom du bruger php.

Prøv at læse denne artikel: http://www.sitepoint.com/article/beyond-template-engine

Han forklarer det meget godt, og giver også ideer til hvordan man kan gøre det.
Avatar billede Slettet bruger
16. marts 2004 - 23:17 #4
dennismp >>
pas på, du ikke jager folk over i den anden boldgade, så de tror, det er en synd at have en løkke eller en if i sin layoutkode.

Det er baggrundsmaskineri og præsentation, man skal adskille, men præsentation kan godt indeholde logik.
Avatar billede dennismp Nybegynder
16. marts 2004 - 23:44 #5
Det er nok fordi vi opfatter ordet "logik" (som jeg opfatter som "business logic") forskelligt. Men er jeg helt enig. Beklager hvis jeg har været uklar.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester