Uitganspunten.
Elk web applicatie kent zijn instellingen.
En elke web applicatie heeft daar zijn eigen eigenaardigheden in.
Codeigniter is daar niet anders in.
Eerst het waarom van het instellen.
Op zich werkt Codeigniter out of the box.
Wel heeft Codeigniter de mogelijkheid om bepaalde zaken beschikbaar te maken of niet.
Codeigniter zal moeten weten hoe je hem wilt gaan gebruiken.
Dus welke functionaliteit wil je op welk moment inzetten.
Wat verstaan we eigenlijk onder functionaliteit?.
Codeigniter werkt toch?
Op zich klopt dit.
Codeigniter biedt echter nog veel meer.
Er zijn diverse libraries / helpers welke je het leven wel erg gemakkelijk kunt maken.
Libraries zijn erop gerich een complete taak te vergemakkelijken. Vb Email of Upload
Helpers zijn erop gericht binnen een complete taak een deelopdracht voor hun rekening te nemen.
Een voorbeeld van een librarie om snel een tabel te maken
Levert een keurige tabel op
De tabel |
Standaard heeft Codeigniter voldoende functionaliteit om out of the box te werken.
Maar niet alle functionaliteit wordt direct aangeboden.
De mogelijkheid wordt zo geboden om lichtgewicht applicaties te kunnen bouwen en om de gebruiker de mogelijkheid te geven zelf te kiezen voor functionaliteiten.
Sterker nog om op elk moment te kunnen kiezen voor het al dan niet inzetten van functionaliteiten.
Waarom niet meteen alles inzetten?
Waarom zou je dat doen?
Je krijgt dan een applicatie met:
Dat lijkt mij niet wenselijk.
Een aantal functionaliteiten wil je standaard maar andere pas als je ze nodig bent.
Om een voorbeeld te geven, database functionaliteit wil je veelal zowieso.
Dus applicatie breed.
Maar functionaliteit om een formulier te verzenden, heb je pas nodig als je een formulier wilt gaan verzenden
Betekent dus dat je zowel op
zou moeten kunnen kiezen.
Dat kan gelukkig binnen Codeigniter vrij simpel
Het instellen van Codeigniter op applicatie niveau gebeurt via een aantal configuratie scripts in de map config
De volgende aanpassing zorgt ervoor dat Codeigniter altijd weet waar het begin van de web applicatie is.
De applicatie kan zo altijd een absoluut pad in de scripts gebruiken.
Javascripts en CSS files zijn zo altijd bereikbaar.
pad naar de file config.php |
Verander het volgende
De volgende aanpassing laadt een aantal Helpers.
Hiermee helpt Codeigniter je met een aantal taken in een aantal categoriën.
Bijvoorbeeld er zijn Form helpers welke je helpen bij het maken van formulier elementen.
Het zijn allemaal functies welke aangeroepen worden.
Je kunt ervoor kiezen wanneer je ze wilt aanroepen.
Bij het starten van de applicatie of per functie van een class apart.
Het voordeel van het eerste is dat de Helper altijd beschikbaar is.
Het nadeel van de eerste is dat de totala overhead toeneemt.
Het voordeel van de tweede is dat de totale overhead zo klein mogelijk gehouden wordt en pas toeneemt als er om gevraagd wordt.
Het nadeel van de tweede is dat je er steede weer aan denken moet en dat de scripts groter worden.
Bovenstaande afwegingen zul je zelf per applicatie dienen te maken.
Pas de volgende file aan
pad naar de file autoload.php |
De test
We gaan nu in
de css file includen.
Verwijder de style sheet uit de file en bewaar deze als:
Voeg vervolgens het volgende toe aan de head sectie:
Uiteraard gaat het om
Hiermee zet je het pad naar
Inderdaad dezelfde als
Open nu weer je browser en ga naar
Als het goed is, zie je geen verschil.
Het verschil zit onder de motorkap.
De CSS file zit nu in een aparte CSS file en is geintergreerd in de applicatie.
Codeigniter maakt gebruik van een standaard controller als er geen URL wordt opgegeven.
Deze controller staat vermeld in:
In ons geval is de standaard route
Nu een aanpassing aan de controller zelf
Open nu
en pas het volgende aan
Sla deze pagina nu op als
Wat is er nu gebeurd?
Aan de functie index ( Altijd de begin functie) is de variabele
toegevoegd aan de variabele
Op deze manier geeft Codeigniter variabelen door aan de views.
Pas nu
hierop aan.
Zo kun je dus variabelen doorgeven en ook per functie van een controller een aparte CSS file gebruiken.
Stel je wilt een andere controller gebruiken als de standaard welcome.php controller.
Stel je wilt de controller welkom gebruiken als de standaard controller.
Hoe doe je dat?
Allereerst zul je deze controller dienen te maken
Als voorbeeld dient uiteraard welcome.php
Deze is met een paar kleine aanpassingen te gebruiken.
De aanpassingen zitten in in een aantal zaken.
welkom.php
Welkom
ipv Welcome
Welkom
toekenningcms
aan de variabele $data['css']
welkom
$data
aan de viewRest nu nog de view welkom.php
Bewaar deze file als welkom.php
Het pad hierna is:
Om de standaard route aan te passen dienen we de config file routes.php
Het pad hierna is:
Verander de file
Er zijn binnen Codeigniter een tweetal mappen welke schrijfrechten nodig hebben.
Dat zijn de mappen :
En de map:
Geef deze mappen (geen bestanden) de schrijfrechten 777
De eerste map kan dan ook gebruikt worden voor het cache mechanisme van Codeigniter
De tweede map wordt door Codeigniter gebruikt om de log files in te bewaren.
Codeigniter is nu ingesteld.
Stoei ermee en koppel diverse controllers aan diverse views.
Het volgende artikel zal over de database koppeling gaan.
Veel programmeer plezier ermee.
Tot ziens,
Ubel Jan van Wijhe
van Wijhe Consultancy
E-mail naar info@vanwijheweb.nl