docs: Een package of module maken

Op het moment dat dit bericht is geschreven is de code nog niet compleet, aanpassingen zijn dus mogelijk!

In deze tutorial zullen we een package maken met de naam “menubuilder”, deze package gaat de verantwoordelijkheid krijgen om meerdere menu’s te creëren.

Packages en modules maken beide gebruik van dezelfde hoofdklasses. Door het gebruik van dezelfde library’s zal het ontwikkelen veel sneller verlopen.

We beginnen met het maken van een nieuwe map in “app/packages/”, de gekozen naam zal de package naam worden. De volgende mappen worden geplaatst in de package:

Package menubuilder

Package menubuilder

De package initialisatie bespreken we later, eerst gaan we een model defineren.

Map: Models

Alle bestanden in de map models hebben de verantwoordelijkheid om de database aan te spreken. De tabel die we willen aanspreken heet MOmenu, dit betekend dat we een bestand momenu.inc.php moeten maken.

De tabel ziet er zo uit:

Tabel MOmenu

Tabel MOmenu

Zoals je ziet zijn de velden: id, menuId, webpage, title gedefineerd in deze tabel. Om de model hiermee om te kunnen laten gaan moeten we van deze velden een property maken. In het meest simpele geval is dit dus voldoende code:

 

De package

Mits de package over word geërfd door MO_LIB_Module (zoals het moet) zal het zelf al aangeven dat deze de functie init nodig heeft. In de init methode declareren we de models en views die we later gaan gebruiken. Models voegen we toe met de methode setModelList. Deze kunnen we later terugvragen met de methode getModel. Onderstaande code geeft aan hoe we een selectQuery uitvoeren, en deze teruggeven.

De functie main is altijd de returnmethode die aangeroepen zal worden, ook deze functie wordt afgedwongen door het CMS.

Update:

Ondertussen werkt de paginaloader ook, deze geeft een iets betere indruk wat de modeler teruggeeft

 

Lets get blogging!

Zoals ik waarschijnlijk al wel bekend sta bij (oud) klasgenoten is dat ik nooit tevreden ben met mijn eigen CMS. Na 2 halve CMS-systemen te hebben gebouwd wordt er altijd wel weer een mooie nieuwe manier gevonden om te coderen, wat natuurlijk in conflict stond met mijn oude code.

Nou, mensen er is nieuws!

Ja ik begin WEER aan een nieuw CMS, deze keer zal het project verder gaan onder de naam “MoveOn”. Natuurlijk verschilt dit CMS weer in verschillende opzichten op zijn voorvaders, maar vol trots bezit dit project een eigen website!

Op deze website zal tijdens het ontwikkelen van het CMS technische documentatie, voortgang en natuurlijk de tegengekomen problemen in het blog komen.