Difference between revisions of "Overzicht van de codebase"

From A-Eskwiki
Jump to: navigation, search
m (WhosWho4/)
m
Line 7: Line 7:
 
== space/ ==
 
== space/ ==
 
In deze map staat alle basis-infrastructuur voor de website, zoals alle constanten (<code>constants.php</code>, <code>specialconstants.php</code>) en algemeen bruikbare classes als <code>Page</code>.
 
In deze map staat alle basis-infrastructuur voor de website, zoals alle constanten (<code>constants.php</code>, <code>specialconstants.php</code>) en algemeen bruikbare classes als <code>Page</code>.
 
<!-- TODO: oorsprong van de naam -->
 
  
 
Een belangrijk bestand is <code>init.php</code>: dit is de main entry point voor elke request. Hier wordt zo'n beetje alle code van toepassing met <code>require_once</code> geladen.
 
Een belangrijk bestand is <code>init.php</code>: dit is de main entry point voor elke request. Hier wordt zo'n beetje alle code van toepassing met <code>require_once</code> geladen.
  
 
=== benamite/ ===
 
=== benamite/ ===
 
 
[[Benamite|Benamite]] is het routing systeem van de website. Het parset de URL van de request, en beslist op basis van de websitestructuur (die in de database staat) welke pagina er moet worden geladen. Lees voor meer details de gelinkte pagina.
 
[[Benamite|Benamite]] is het routing systeem van de website. Het parset de URL van de request, en beslist op basis van de websitestructuur (die in de database staat) welke pagina er moet worden geladen. Lees voor meer details de gelinkte pagina.
 
<!-- TODO: oorsprong van de naam? -->
 
  
 
== WhosWho4/ ==
 
== WhosWho4/ ==

Revision as of 20:55, 1 June 2017

Dit artikel is WIV (Werk In Voortgang)!

www/

Hier staat alle code die door de site zelf gebruikt wordt. Alles hierbuiten zijn vooral extra dingen, zoals losse scripts (scripts), git hooks (hooks) en lokalisatie (gettext).

space/

In deze map staat alle basis-infrastructuur voor de website, zoals alle constanten (constants.php, specialconstants.php) en algemeen bruikbare classes als Page.

Een belangrijk bestand is init.php: dit is de main entry point voor elke request. Hier wordt zo'n beetje alle code van toepassing met require_once geladen.

benamite/

Benamite is het routing systeem van de website. Het parset de URL van de request, en beslist op basis van de websitestructuur (die in de database staat) welke pagina er moet worden geladen. Lees voor meer details de gelinkte pagina.

WhosWho4/

Hier leeft het leeuwendeel van de website. Over het algemeen wordt hier de zogenaamde MVC-architectuur gevolgd: elke request wordt afgehandeld door een methode in een Controller-klasse die bepaalt wat er precies moet gebeuren en de juiste Model-data ophaalt. Vervolgens worden dan methodes in een View-klasse aangeroepen om de uiteindelijke pagina te bouwen. Dit wordt helaas niet altijd netjes gedaan; soms staat er view-code in een controller. De code is dan ook zo onderverdeeld: controllers staan onder Controller/, views onder View/ (of een paar onder Views/, omdat redenen), en de models onder DBObject/ (want ze komen allemaal uit de database). Ook hebben sommige delen van de website hun eigen map, zoals Bugweb. In die mappen wordt dan weer dezelfde MCV-structuur gebruikt.

Ook staat er op veel plekken een Generated/-map. Hierin zitten (vanzelfsprekend) gegenereerde klassen. Dat genereren gaat op basis van een bestand gemaakt met Dia, een tool voor UML-diagrammen (als je niet wat dat is, geen stress; als je voor je ziet spreekt het voor zich). Het script hiervoor is docs/dia2php.


bookweb/

manage

scripts/