Opbygge større site med includes - hensigtsmæssigt?

Tags:    php

Goddag..

Som overskriften hentyder til er jeg ved at bygge et større site op, men jeg er kommet lidt i tvivl om hvorvidt måden jeg gør det på gør siden langsom eller ej..

Jeg har illustreret sidens opbygning vha. en simpel tegning:
http://www.gratisupload.dk/download/25644/

Måden hvorpå jeg så includer menuerne på hver enkelt side er som herunder:

<?php
include_once('menu4.php');
include_once('menu5.php');
include_once('menu1.php');
include_once('menu2.php');
include_once('menu3.php');
?>

Grunden til at jeg har valgt at include filerne skyldes at det er meget lettere at redigere i en enkelt fil fremfor alle siderne på den måde.. Det er desuden også væsenligt lettere at flytte rundt på menuerne på denne måde ;)

Men er måden jeg gør det på noget, der belaster siden meget og gør den langsom ? I så fald, hvordan kunne jeg løse det på en simpel måde i stedet?



8 svar postet i denne tråd vises herunder
5 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Det er en fin måde at gøre det på



Jeg bruger selv en lignende metode på min side, og jeg har ikke oplevet en mærkbar forskel i loadingtime. Dog bruger jeg bare "include" istedet for "include once".

Rigtig god og tidsbesparende måde!
Husk desuden, at du også kan lave en include i <head></head> sektionen til f.eks. CSS links mm.



Indlæg senest redigeret d. 20.03.2009 10:37 af Bruger #11631
Hej Per,

Faktisk forbedrer det ydelsen på servere med hukommelses begrænsninger.

File lookup er ikke det slemme.
Og det gør koden mere overskuelig at vedligeholde.

Med venlig hilsen
Ieet



Indlæg senest redigeret d. 20.03.2009 13:19 af Bruger #12836
Hej Per,

Jeg har selv lave en del større sites, bl.a. webshops osv, og det er den rigtige retning at tage hvertfald.

Personligt ville jeg nok overveje at lave noget mere logik så du har noget mere kontrol over hvad der sker på din side.

Nogle mener at det er besværligt med mange include filer efter hinanden, men jeg mener klart at det er en fordel hvis man kan strukture det ordenligt. Gøres det ikke ordentligt kan det hurtigt bliver uoverskueligt.



En anden ting du kunne kigge på er php's autoloader: http://dk.php.net/manual/en/function.spl-autoload.php
http://blas.phemo.us/articles/2008/04/19/using-php-__autoload

Det vil gøre dine filer mere overskuelige.

En anden artikel du måske ville være intresseret i er denne:
http://arin.me/php/php-require-vs-include-vs-require_once-vs-include_once-performance-test

Som du kan se på testen handler det om µs for at loade 1000 filer, så tror endnu ikke du skal tænke så meget på preformance, men mere på at lave et fedt site :)



Meget godt spørgsmål faktisk.

Kan godt forestille mig det at det tager en meget lille del af ydelsen.

Bruger det selv til navbar osv. og ofte er der andre includes nested i mine inkludes..



Hvis du ved cirka hvad der skal være i de forskellige menuer, kunne du gøre det lettere for dig selv ved at give dem menneskeforståelige navne istedet for numre. fx
include_once('hovedmenu.php');
include_once('brugermenu.php');
include_once('tilbudsmenu.php');

etc. etc. alt efter hvad dine menuer indeholder. Det er egentlig også bare et tip, for selve fremgangsmåden er helt som den skal være :)



Det var da en fantastisk omgang gode svar - tak for det ;) Jeg deler points ud til jer alle, da det var nogle gode fyldestgørende svar fra de fleste!



t