Beethoven Skrevet 10. desember 2006 Skrevet 10. desember 2006 Hei, OK, jeg har gått igjennom det meste av templatessystemer som finnes i PHP. Jeg er luta lei av det, det er alltid noe som lager vanvittig mye trøbbel ved bruk av det. Ikke minst lager det en god del kode. Så jeg bestemte meg for at jeg skal kun bruke PHP i tpl filene mine. Ikke noe short-tags siden det ryktes at det dør ut i PHP6? Det jeg lurer på hvordan jeg skal gjøre dette på best mulig måte. Jeg har ikke lyst å drive med en metode lenge så plutselig se at det fantes en bedre må å gjøre det på, så jeg spør først nå jeg. Slik gjør jeg det nå: Har en PHP side nå som skal printes ut: PHP <?php function incTpl($file) { global $tpl; require_once('./templates/' . $file . '.php'); $tpl = ''; $tpl = array(); } $tpl = array(); $tpl['data'] = array(1, 2, 3, 4, 5, 6, 7); $tpl['data2'] = 'jeg er data som skal i tpl!'; incTpl('dataside'); ?> Her blir da fila som vi inkluderer: PHP <p><?php echo $tpl['data2']; ?></p> <ul> <?php foreach($tpl['data'] as $number) { ?> <li><?php echo number; ?></li> <?php } ?> </ul> Jeg har ikke peiling på om dette er en god måte, for det kan jo hende det finnes bedre måter. Men hva anbefaler dere? Vet dere om noe scripts som bruker dette prinsippet som jeg kan ta en titt på? Tusen takk for hjelp!
pej Skrevet 11. desember 2006 Skrevet 11. desember 2006 Jeg har ikke peiling på om dette er en god måte, for det kan jo hende det finnes bedre måter. Men hva anbefaler dere? Vet dere om noe scripts som bruker dette prinsippet som jeg kan ta en titt på? Savant er en templatemotor som bruker PHP selv som språk. Derfor trenger det heller ikke å kompilere templatene, selv om dette lett kan skrives selv om du skulle føle deg mer komfortabel med det.
Darkshade Skrevet 11. desember 2006 Skrevet 11. desember 2006 Ikke noe short-tags siden det ryktes at det dør ut i PHP6? short tags forsvinner ikke i php6. Hvorfor ikke gå over til et rammeverk som følger MVC dette er mye bedre enn å stresse med template systemer som også går tregere enn ren php. MVC står for Model - View - Controller. Du vil da få en mappe struktur som f.eks -System -Application --Models --Views --Controllers I mappen models legger du koder som kommuniserer med databaser. I mappen views koder du design. I mappen controllers koder du funksjoner som kommuniserer med designet ditt og dine models. Du kan og droppe models og kun bruke views og controllers, du koder da database spørringer i controllers isteden. Jeg anbefaler http://www.codeigniter.com/ ta deg en kikk på video tutorialene på siden der så får du mer innblikk i hvordan MVC virker
Beethoven Skrevet 11. desember 2006 Forfatter Skrevet 11. desember 2006 Tusen takk for svar . Skal ta en titt på det dere har lenket til.
meron Skrevet 11. desember 2006 Skrevet 11. desember 2006 (endret) Ehm, det er vel models som er grunnlaget for databasespøringane..? EDIT: Uansett er MVC-rammeverk å foretrekke. Endret 11. desember 2006 av meron
CruellaDeVille Skrevet 11. desember 2006 Skrevet 11. desember 2006 Hvorfor ikke gå over til et rammeverk som følger MVC dette er mye bedre enn å stresse med template systemer som også går tregere enn ren php. Jeg har bare brukt mvc med templates, noe jeg syns fungerer utmerket. Jeg er ikke kjent med mvc uten bruk av templates, men ble veldig nysgjerrig her nå. Hvordan klarer du å skille presentasjon og logikk uten bruk av php-kode i view? Send gjerne med et eksempel.
Darkshade Skrevet 11. desember 2006 Skrevet 11. desember 2006 (endret) Ehm, det er vel models som er grunnlaget for databasespøringane..? EDIT: Uansett er MVC-rammeverk å foretrekke. 7475058[/snapback] Joda models er for spørringer. Jeg skrev det, men skrev at man kan drope models og bruke controllers. Jeg har bare brukt mvc med templates, noe jeg syns fungerer utmerket. Jeg er ikke kjent med mvc uten bruk av templates, men ble veldig nysgjerrig her nå. Hvordan klarer du å skille presentasjon og logikk uten bruk av php-kode i view? Send gjerne med et eksempel. Det blir jo litt php, men det er minimalt. La oss si du har laget en controller som skal sette sidens tittel. Denne heter main.php PHP <?php class Main extends Controller { function Main() { parent::Controller(); } function index() { $data['title'] = "Siden Tittel "; $this->load->view('main', $data); } } ?> Du lager en view som heter main.php som inneholder. <html> <head> <title><?=$title;?></title> </head> <body> </body> </html> Dette var bare et enkelt eksempel Endret 11. desember 2006 av kylefj
Beethoven Skrevet 11. desember 2006 Forfatter Skrevet 11. desember 2006 Jeg fant en artikkel ved hjelp av lenkene her: http://www.massassi.com/php/articles/template_engines/ Den løser egenltlig problemet mitt ! Jeg lager et script som jeg skal legge ut se, og det blir vel dumt å bruke rammeverk på slikt?
meron Skrevet 11. desember 2006 Skrevet 11. desember 2006 Kylefj.. Såg det no. Bruker django, og de bruker omgrepa litt annleis. Det blei med andre litt rot i forhold til det eg er vant til Forklaring...
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå