Een inleiding

Wat is Code Igniter?
Het korste antwoord is: een "application framework".
Oftewel een raamwerk waarbinnen je een website kunt bouwen.
Een langer antwoord is:
Code Igniter is een framework.
Een framework is een software omgeving waar binnen je je applicatie bouwt,
en voor een basisstructuur zorgt en je vele standaard programmeer handelingen op een gestructureerde wijze aan reikt.
Binnen het framework bouw je dus je appicatie
Is een framework al een kant en klaar cms?
Nee, het levert alleen het raamwerk waarbinnen je op een geordende wijze de website zelf nog programmeert.
Het raamwerk levert wel de nodige hulpmiddelen om diverse veel voorkomende taken binnen een website te vereenvoudigen.
Wat binnen dit raamwerk een sterk punt is, is de mogelijkheid om lay-out, logica en database verkeer gescheiden te houden.
In programmeer termen:
- Model (database verkeer)
- View (lay-out)
- Controller (logica)
MVC is de afkorting hiervoor.
| MVC |
Hoewel de afkorting net zo goed CMV had kunnen heten.
In deze volgorde gebruik je veelal dit soort frameworks
Je hebt eerst de controller.
Deze zit als een spin in het centrum van het web en stuurt de rest aan. ( Controller )
Om vervolgens de database te bevragen. ( Model )
Waarna alle informatie wordt doorgegeven aan een of meerder lay-out scripts ( View )
De voordelen van een dergelijke aanpak zijn:
- Scheiding van logica, vormgeving en database verkeer
- Een aanpassing in een van drie onderdelen hoeft de andere twee niet te hinderen
- Uitgebreide mogelijheden om vaker voorkomende functies te standariseren
Aanvullende informatie over frameworks: Wikipedia
Het pakket installeren
Laten we gaan beginnen
Op volgende adres kun je het pakket downloaden:
Pak het pakket uit en kopieer de inhoud in de root van je webserver
| Uitpakken in |
Start nu je web browser en ga naar:
| Browser adres |
In je browser zie je dan:
| Browser |
Out of the box en er gebeurt iets.
Heerlijk, maar goed dit is nog geen website.
Wat zie je nu?
Laten we eerst eens uitleggen, wat we hier nu eigenlijk zien.
Binnen Code Igniter wordt er altijd een controller aangeroepen.
Deze roept vervolgens een functie op, welke wordt uitgevoerd.
| een theoretisch voorbeeld |
De vraag rijst hier, waar zie je wat?
Laten we de default waarden van Code Igniter eens bekijken
| Code Igniter |
Omdat we met default waarden werken, is ons geval nu
| Code Igniter |
hetzelfde als
| Code Igniter |
Een voorbeeld van de URL
Stel je hebt een controller gemaakt genaamd inschrijven
( Hoe dat gebeurt, komt later in dit artikel )
En je hebt een functie binnen die controller gebouwd, genaamd nieuwsbrief
De URL in dat geval zou dan gaan heten:
| URL |
Is de index.php nodig?
Nee, niet als je met de standaard controller en functie werkt.
Ga je met je eigen controllers en functies werken, dan wel!
Dus in de praktijk: Ja.
De controller
Laten we beginnen met de controller.
Ga maar eens naar:
| een voorbeeld |
Met als resultaat in de browser
| een voorbeeld |
Je ziet geen verschil.
Dat klopt ook.
In ons geval is dus
| begin |
hetzelfde als
| begin |
De index.php welke er tussen vermeld staat, heeft Code Igniter nodig.
Code Igniter werkt met URI segmenten.
Na elke / begint een URI.
index.php is het script welke de rest van Code Igniter aanstuurt.
Foutmelding
De volgende code zou geheid een foutmelding opleveren
| begin |
Als je met je eigen controllers enn functies gaat werken, (99,9% kans)
dien je index.php wel te schrijven.
De controller welcome.php
Als er niets wordt ingegeven, weet Code Igniter dat er een standaard controller wordt aangeroepen.
Zoals in bovenstaande afbeelding te lezen valt, is de standaard controller op dit moment:
welcome.php
Deze is te vinden op:
| pad naar welcome.php |
Of in een directory structuur gezien
| pad naar welcome.php |
Het aanpassen van de standaard controller komt later nog aan bod
De opbouw van en controller
De opbouw van de standaard controller is als volgt:
| opbouw van welcome.php |
Allereerst wordt de hoofd class ininitaliseerd en verbonden met de standaard controller van Code Igniter.
class Welcome extends Controller {
Let op dat de naam "Welcome" begint met een Hoofdletter.
Dan wordt de hoofd function Welcome gedefinieerd.
function Welcome()
Deze opbouw is nodig om de verbindingen door de gehele applicatie en Code Igniter te behouden.
Let op dat de naam "Welcome" weer begint met een Hoofdletter.
Deze function Welcome aanroep laat je verder met rust.
Nu wordt de function index gedefinieerd.
function index()
Wat deze doet is de View welcome_message aanroepen.
De opbouw van deze aanroep is typerend voor de OOP stijl welke Code Igniter hanteert
De view welcome_message is gelegen in het volgende pad
| pad naar welcome_message.php |
Code Igniter weet waar de views zich bevinden, dus alleen een aanroep voldoet.
Bij het aanroepen van een view is het niet nodig php als extensie te gebruiken.
Het mag wel!
We gaan nu eens kijken naar de standaard view
De view
De view welcome_message.php is te vinden op:
| pad naar welcome_message.php |
Of in een directory structuur gezien
| pad naar welcome_message.php |
Structuur
Enige uitleg is nu wel op zijn plaats.
Bij het ontwikkelen van een applicatie binnen Code Igniter, wil Code Igniter je helpen.
Dit vraagt wel om de structuur van Code Igniter te volgen.
Dat wil zeggen:
- plaats de controllers in de controllers map
./system/application/controllers/
- plaats de models in de models map
./system/application/models/
- plaats de views in de views map
./system/application/views/
Een eerste aanpassing
Een kleine aanpassing in welcome_message.php
Ik ga deze vertalen in het Nederlands.
| welcome_message.php |
Met als resultaat
| welcome_message.php |
En in de browser:
| welcome_message.php |
Dat werkt dus
Nu de aanpassing aan welcome.php
Welcome.php naar welkom.php
Laten we eerst de controller hernoemen naar welkom.php
Van:
| welcome.php |
naar:
| welkom.php |
Er dient wel een aanpassing aan welkom.php te geschieden:
Binnen Code Igniter dien je bij een controller de Class naam en de eerste Function de naam van de controller te geven
Waarbij de naam met een hoofdletter begint.
Dus van welcome.php
| welcome.php |
Naar welkom.php
| welkom.php |
In de browser ga je naar:
| welkom.php |
Je ziet dan:
| welkom |
Dat werkt dus.
Als je al een fout maakt, vb. welkom2 ipv welkom ingeeft, zie je:
| welkom2 |
Een eigen "Hallo Wereld" script
We gaan een eigen "Hallo wereld" script maken
De controller hallo_wereld.php maken we het eerst.
| hallo_wereld.php |
Met als inhoud:
| hallo_wereld.php |
De nieuwe view hallo_wereld.php
De view hallo_wereld.php maken we nu.
| hallo_wereld.php |
Met als inhoud:
| hallo_wereld.php |
En in de browser
| hallo_wereld URL |
| hallo_wereld URL |
De eerste eigen functie
We gaan de controller hallo_wereld.php uitbreiden met een eigen geschreven functie.
Genaamd wereld
| hallo_wereld.php |
Met als inhoud:
| hallo_wereld.php |
Wat de functie wereld() betreft, deze laat de view wereld.php zien
De view wereld.php
We gaan de view wereld.php schrijven
| wereld.php |
Met als inhoud:
| wereld.php |
En in de browser
| wereld |
Tot zover
Tot zover de inleiding tot Code Igniter
Het volgende artikel van Code Igniter zal gaan over het instellen van Code Igniter,
en het contact maken met de database MySQL.
Veel programmeer plezier ermee.
Tot ziens,
Ubel Jan van Wijhe
van Wijhe Consultancy
E-mail naar info@vanwijhecons.nl