Avatar billede Slettet bruger
21. september 2006 - 15:18 Der er 9 kommentarer og
1 løsning

adskildelse af kode og design og templates sytemer

hvordan gør i når i skriver php.

Jeg har tænkt på i stedet for at echo output når man henter det så i stedet at gemme alt output i variabler der så kan det echo´es senere i sidens design del

Altså adskille database kald og beregninger og så output for at det sernere er nemmere at skifte design.

Hvordan gør i når i skriver php?

Er der nogen ulemper ved at gemme output i variabler i stedet for echo indholdet i forhold til performqance?
Avatar billede fangel Nybegynder
21. september 2006 - 15:22 #1
Snare omvendt...

<?php
for($i=0; $i < 10000; $i++ ) {
  echo "Hej";
}
?>

går langsommere end

<?php
$content = '';
for($i = 0; $i < 10000; $i++ ) {
  $content .= 'Hej';
}
echo $content;
?>

Fordi det tager tid at åbne en stream til output-bufferen 10.000 gange (mod en gang med 10.000 gange så meget output.. ;)

-fangel
Avatar billede Slettet bruger
22. september 2006 - 10:30 #2
ok så min ide med at samle output i variabler er altså ok.
Avatar billede fangel Nybegynder
22. september 2006 - 10:31 #3
yees yes.. den er fin...
Avatar billede Slettet bruger
22. september 2006 - 10:40 #4
Hvis du laver template sytem vil jeg da gerne høre hvordan du gør

Jeg kan lige fortælle hvordan jeg gør.
jeg har to filer kode og template

kode indeholde mysql kald og beregninger og outputter til variabler der så kan kaldes i template filen.
mysql kald outputtes til arrays så jeg i template filen kan besslutte hvad loopet skal indeholde

I template filen includere jeg så kode filen i toppen

på den måde kan jeg når en designeren vil have nyt design nemmere overskue koden og kommer ikke til at pille ved kode der laver vigtig bergninger

..hva sir du. Tror du det er en ok metode?
Avatar billede fangel Nybegynder
22. september 2006 - 10:46 #5
Det er en rigtig god metode at gøre det på... det er 66% MVC.. fordi du har slået M og C sammen til et punkt..

Fuldt MVC (Model, View, Controller) har du følgende:

* Models: Filer til at hente og gemme data
* Controllers: Filer til at finde relevante data frem via de relevante Models
* Views: Filer der modtager data fra controlleren og sætter det op i det relevante layout...

--

Hvis du vil gå lidt længere, så brug et template system, som fx Smarty (http://smarty.php.net)

-fangel
Avatar billede Slettet bruger
22. september 2006 - 11:19 #6
har læst lidt om MVC
http://www.onlamp.com/pub/a/php/2005/09/15/mvc_intro.html?page=1¨

Men han gør det godt nok rimeligt kompliceret

...sådan som jeg forstår det hedder alle sider med det system index.php?module=noget

...hvordan er det i forhold til søgemaskiner at der ikke er et filnavn
Avatar billede fangel Nybegynder
22. september 2006 - 11:53 #7
Ikke super godt - men derfor opfandt gud (eller apache-projektet) mod_rewrite så man kan lave sådanne stier bedre.. (søg lidt rundt på mod_rewrite for at finde guider til det - der er massere)

Jeg har selv lavet et OOP MVC framework i PHP som jeg bruger.. mere om det her: http://sevengoslings.net/pundit

-fangel
Avatar billede Slettet bruger
22. september 2006 - 12:02 #8
tak for dine info

Jeg tror jeg venter med at brug fuldt MVC og bruger min hjemmestrikkede version

Du må gerne lægge et svar

vh. Simon
Avatar billede fangel Nybegynder
22. september 2006 - 12:17 #9
så skidt da..
Avatar billede Slettet bruger
22. september 2006 - 12:38 #10
:-)
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