Codeigniter

logo van Wijhe Consultancy

19-08-2017
Eigen artikelen

afbeelding Codeigniter

Installatie Codeigniter 2.1.4


Om met Codeigniter te kunnen werken, heb je een werkende Codeigniter 2.1.4 omgeving nodig.

Die gaan we hier maken.


We zullen eerst deze omgeving gaan opzetten en inrichten.


Download de pdf versie van dit artikel.


Het opzetten van deze applicatie


Stap 1 - Zip file uitpakken

  • Download Codeigniter vanaf de volgende locatie: http://ellislab.com/codeigniter
  • Pak de files uit in een door jou gemaakte directorie in de root of directorie van jouw webserver
  • Onthoud deze plek
    Voorbeeld van directorie zou kunnen zijn codeigniter214

Stap 2 - Database aanmaken


Mocht je dit willen , lees dan het artikel op http://portaal.vanwijhecons.nl/opzetten_van_een_tabel
sectie "Het terugplaatsen van een tabel"


Stap 3 - Config files aanpassen


Pad van de applicatie

  • Pas de volgende file aan
    • ./application/config/config.php
  • Pas regel 17 aan naar het juiste pad in jouw test omgeving
    Gebruik hier voor de naam uit stap 1
  • Gebruik je een directory als begin punt, dien je die te vermelden.
  • Werk je vanuit de root van je webserver, dan uiteraard niet
  • Werk je vanuit een subdomein van je webserver, dien je de naam van het subdomein te gebruiken
    Voorbeeld http://subdomein.testserver.nl

  base_url  

$config['base_url']	= 'http://www.testserver.nl/codeigniter214/';


Eventuele database van de applicatie


Mocht je van een database gebruik willen maken, (zeer waarschijnlijk) dien je nog aanpassing te maken.

  • Pas de volgende file aan
    • ./application/config/database.php
  • Pas de regels 52, 53 en 54 aan naar de juiste aanmeld gegevens voor jouw database
    Gebruik de database welke je met phpMyAdmin hebt gemaakt
  • In onderstaand voorbeeld zijn een aantal gefingeerde waarden genomen.

  database  

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'gebruiker';
$db['default']['password'] = 'wachtwoord';
$db['default']['database'] = 'eendatabasenaam';


Stap 4 - Meer functionaliteiten beschikbaar maken


Voor een startpunt van een installatie is dit voldoende.

Voor een uitgebreidere applicatie zul je meer functionaliteiten standaard tot je beschikking willen hebben.


Je kunt je afvragen waarom deze al niet bij voorbaat geactiveerd zijn.

Het antwoord is:

  • Dat je niet van te voren weet, wat je nodig hebt.
  • Wat je niet nodig hebt, hoef je ook niet te activeren.
    Wat niet geactiveerd is, neemt geen bronnen (werkgeheugen bv.) in beslag.
    En hoe minder bronnen in beslag, hoe sneller de applicatie blijft.

Ok, wat gaan we dan nu wel gebruiken?


De functionaliteiten welke we standaard willen kunnen aanroepen zitten in de:

  • Helpers
  • Libraries

Helpers


Helpers zijn erop gericht binnen een complete taak één specifiek deel voor hun rekening te nemen.

Zij breiden de bestaande functionaliteit iets verder uit (vandaar helper)

Een voorbeeld hiervan is de URL helper


Na het laden van de helper url


  helper url  

	$this->load->helper('url');


heb je functie


  base_url()  

	base_url() 


tot je beschikking.

Deze geeft de site URL welke je in de config gezet hebt weer.


Libraries


Libraries zijn erop gericht binnen een complete taak een deelgebied voor hun rekening te nemen,
waarbij veelal informatie gedeeld wordt binnen de library.

Een voorbeeld is de database library


  library database  

	$this->load->database();


En hoe doen we dat?


In principe kun je elke keer als iets nodig hebt, de helper of library oproepen.

En vervolgens de functionaliteite laten uitvoeren.

Dat werkt tot op zekere hoogte.

Functionaliteiten welke je door de gehele applicatie wilt gaan gebruiken, kun je ook van te voren aanzetten.

We gebruiken hiervoor het autoload mechanisme.

Deze kun je vinden in:

./application/config/autoload.php


  Libraries  

/*
| -------------------------------------------------------------------
|  Auto-load Libraries
| -------------------------------------------------------------------
| These are the classes located in the system/libraries folder
| or in your application/libraries folder.
|
| Prototype:
|
|	$autoload['libraries'] = array('database', 'session', 'xmlrpc');
*/

$autoload['libraries'] = array();

  Helpers  

/*
| -------------------------------------------------------------------
|  Auto-load Helper Files
| -------------------------------------------------------------------
| Prototype:
|
|	$autoload['helper'] = array('url', 'file');
*/

$autoload['helper'] = array();


Kijk bij de gebruikers gids voor verdere naslag.



Als extra libraries gaan we de volgende gebruiken.

  • database

  Libraries  

/*
| -------------------------------------------------------------------
|  Auto-load Libraries
| -------------------------------------------------------------------
| These are the classes located in the system/libraries folder
| or in your application/libraries folder.
|
| Prototype:
|
|	$autoload['libraries'] = array('database', 'session', 'xmlrpc');
*/

$autoload['libraries'] = array('database');

Als extra helpers gaan we de volgende gebruiken.

  • url
  • form
  • date
  • html

  Helpers  

/*
| -------------------------------------------------------------------
|  Auto-load Helper Files
| -------------------------------------------------------------------
| Prototype:
|
|	$autoload['helper'] = array('url', 'file');
*/

$autoload['helper'] = array('url', 'form', 'date', 'html' );


Stap 5 - Rechten mappen goedzetten


  • Als je op een Linux machine werkt, dien je de volgende mappen de rechten 777 te geven:
    • ./application/cache
    • ./application/logs

Gebruik hier voor een FTP programma zoals bijvoorbeeld Filezilla

Documentatie hierover is te vinden op http://wiki.filezilla-project.org/Documentation


Om van mappen en/of bestanden de rechten te veranderen kun je de volgende stappen nemen.

  • Selecteer de map en/of het bestand met de rechter muis toets
  • Klik op Bestandsrechten


Je ziet dan een een soortgeljk scherm
Het lichte gedeelte is het belangrijkste



Verander het getal in 777

Voor meer uitleg zie: http://www.cybertux.nl/linux/permissies.html



Als de onderliggende mappen ook aangepast dienen te worden, dien je onderstaande stap ook te doen.



Stap 6 - htaccess / ht.acl gebruik


Stap 7 - De test

  • Ga naar http://www.testserver.nl/codeigniter214/
  • Voorbeeld voor lokale test webservers http://localhost/codeigniter214/

Stap 8 - Aanvullende modules

  • Bij gebruik van aanvullende modules dien je soms de rechten van een directorie aan te passen of een config file aan te passen.
  • Maak je bv. gebruik van een WYSIWYG editor zoals TinyMCE en je maakt gebruik van de ajaxfilemanager dien je de rechten van enkele directories nog aan te passen
  • Zie hiervoor de documentatie van he betreffende onderdeel.


FAQ.


  • De database wordt niet gevonden?
    • Is de nieuwe database aangemaakt?
    • Zijn de waarden in ./application/config/database.php correct?

Tot slot


Codeigniter is nu ingericht en heeft een verbinding met een database en zou nu moeten werken.


Probeer het uit, zou ik zeggen.



Veel programmeer plezier ermee.


Tot ziens,


Ubel Jan van Wijhe


van Wijhe Consultancy

E-mail naar info@vanwijhecons.nl