CodeIgniter biedt een set van herbruikbare bibliotheken aan voor veelgebruikte taken, evenals een eenvoudige interface en logische structuur voor toegang tot deze bibliotheken. Om je een beter beeld te geven van het framework, hieronder een overzicht van de structuur:
1. MVC-Architectuur: codeIgniter maakt gebruik van de MVC-architectuur, wat betekent dat de applicatie is opgesplitst in drie belangrijke componenten: model, view en controller.
2. Directory Structuur: een standaard CodeIgniter-installatie heeft de volgende mappen: application, system, user_guide.
3. Libraries: het framework biedt een set van ingebouwde bibliotheken die functies bieden voor taken zoals databasecommunicatie, e-mail verzending, sessiebeheer, en formuliervalidatie.
4. Helpers: dit zijn sets van functies die bepaalde taken vergemakkelijken, zoals het werken met formulieren, bestanden, of datums.
5. Database Abstraction: hetbiedt een eenvoudige en intuïtieve database abstraction layer waarmee je database queries kunt maken zonder SQL te schrijven. Het ondersteunt ook actieve records, waardoor het bouwen van queries nog eenvoudiger wordt.
6. Routing: met CodeIgniter's URL-routing kan men de URL-structuur van een applicatie gemakkelijk aanpassen.
7. Beveiliging: het bevat verschillende beveiligingstools en -technieken out-of-the-box, zoals input- en outputfiltering, SQL-injectiepreventie, en CSRF- en XSS-bescherming.
8. Uitbreidbaarheid: ontwikkelaars kunnen gemakkelijk eigen bibliotheken, helpers, en packages toevoegen aan CodeIgniter om de functionaliteit uit te breiden.
9. Configuratie: het staat bekend om zijn eenvoudige configuratie. Door slechts een paar instellingen in de configuratiebestanden aan te passen, kan een ontwikkelaar snel aan de slag.