Maar natuurlijk wil je de server zo min mogelijk belasten, is altijd beter.
Ik heb zelf altijd de volgende opbouw als ik een website maak:
code:
1
2
3
4
5
6
7
8
| /www.site.com/htdocs
includes
images
templates
index.php
other_file.php
bla.php |
Hierbij kan je globale bestanden (overal op iedere pagina nodig) verwachten in de includes. Images van Scripts in images/content/news/$news_id/.
Templates in de template directory, met een bijbehorende templateparser.
Dit zijn ongeveer de bestandstypes die ik in de includes dir neerzet, hiervoor hanteer ik de volgende filename opbouw:
type_function.php
Denk hierbij aan de volgende bestandsnamen:
incl.config.php (configuratiebestand, mysql user/pw, etc)
incl.main.php (hoofdbestand met veel gebruikte functies die eigenlijk nergens anders thuishoren)
class.template.php (template engine)
class.mysql.php (mysql class, extra security, counters, etc)
func.get.php (functies die waardes van de gebruiker verwerken (os/browser bv).
Ik werk zelf met mod_rewrite om mijn url's te rewriten binnen de meeste scripts die ik gemaakt heb, dit vanwegen het gemak dat je hebt (multiviews is niet zo dynamisch).
Mijn
standaard bestandsopbouw heb ik als het volgende
code:
1
2
3
4
5
6
7
8
| includes (in lagen *)
start alles ($user = new UserSystem() en functies als dat)
if ($action=='edit') { .. }
elseif ($action=='view') { .. }
else { .. }
show html |
/me Laag 1 is de core van je site, als functies en classen elkaar nodig hebben dan gaat de class/functie die iets nodig heeft van een andere class/functie een laag hoger. De hoogste laag is de aanroep laag.
Ook vind ik het makkelijk om een vaste waarde te hebben waar ik de html in kan opslaan ipv het direct te echo'en, dus ongeveer het volgende
PHP:
1
2
3
4
5
6
7
8
9
| //includes etc
$html_out = '';
//more to do
$html_out .= '<table><tr><td>blaat</td></tr></table>';
//some cases, ifs and more
$html_out .= 'haha<hr>';
//de ShowHTML
echo $html_out; |
Eigenlijk moet je (zoals in mijn 1e voorbeeld code) de functies (edit, view, etc) in lossen bestanden neerzetten, dit doe ik zelf nooit want ik vind het een beetje overdreven. Ik hou wel tussen de if's (elseif, else) altijd een regel of 20 witruimte. Zodat ik makkelijk kan zien waar een functie start/stopt.
Ik hoop dat er wat zinnige info uit te halen is, en ook dat het te begrijpen is, niet echt een geweldige tekst opbouw (erg moe).