Avatar billede ttopholm Nybegynder
29. december 2006 - 13:39 Der er 7 kommentarer og
1 løsning

Indlæse php-fil og eksekvere den senere

Hvordan indlæser jeg en php-fil, så jeg kan gemme den i streng og senere skrive den ud så så php bliver ekskveret og evt. html vist.

Jeg har nemlig en klasse, der læser en template-fil ind, normalt er det bare ren html, som den jo bare kan skrive ud med echo, men der kan forekomme php, og hvis jeg bare læser filen som text, vil php bare blive udskrevet., så hvordan løser man denne.
Avatar billede viper_killerguy Nybegynder
29. december 2006 - 15:06 #1
hvis koden i template-filen kun medføre til formatering og andet manipulation relateret til outputtet, kan du bruge ob:
ob_start();
include("template-blah.php");
$gemme = ob_get_contents();
ob_end_clean();

men selve koden i filen bliver eksekveret når du kalder include, så du bliver nød til at kalde den include() efter du har defineret klasser, og hentet alt de variabler of andre data'er, der bruges i include scriptet.

Hvis dette ikke kan lade sig gøre er det eneste nogenlunde pæne at smide hele templaten i en function eller klasse, og så bare køre den når du får brug for den.
Avatar billede ttopholm Nybegynder
29. december 2006 - 15:09 #2
Det er fordi i en af templates, harjeg en form, hvor selve php-delen, som formen poster til også ligger i filen.
Avatar billede coderdk Praktikant
29. december 2006 - 15:15 #3
Ellers kan du vist:

$indhold = file_get_contents( "fil.php" );

og så køre det med:

eval( "?>" . $indhold );

Men det lyder som om du burde designe det på en smartere måde ;)
Avatar billede ttopholm Nybegynder
29. december 2006 - 15:17 #4
Ja... Ved det godt....

Havde også tænkt mig at lave det lidt om
Avatar billede windcape Praktikant
29. december 2006 - 15:20 #5
viper_killerguy har postet den smarteste måde at bruge PHP templates på :-)
Avatar billede windcape Praktikant
29. december 2006 - 15:20 #6
Derudover kan du jo se på hvordan Zend Framework benytter PHP templates, du kan downloade det fra http://framework.zend.com/
Avatar billede windcape Praktikant
29. december 2006 - 15:28 #7
Forresten er det nemmest hvis du skriver en dispatcher som bare laver en include, men bliver kaldt som det sidste I din app.

I en god struktureret MVC / OO opbygning er det nemt nok :p
Avatar billede ttopholm Nybegynder
18. februar 2007 - 13:01 #8
Løste det ved med en simpel include
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